AngularJS – Template não resolve promises automaticamente

image_pdfimage_print

$parse e templates no modo padrão de funcionamento do Angular.js > 1.2.0 não irão mais resolver promises automaticamente.

Com isto, códigos como o abaixo que funcionavam corretamente e tinha o resultado da execução da promise apresentado assim que disponível no template / tela, não funcionam mais por padrão:

$scope.teste = $http({method: 'GET', url: '/url'});
<p>{{teste}}</p>

Esta configuração pode ser alterada para poder voltar a funcionar, mas é uma funcionalidade marcada como deprecated pela equipe de desenvolvimento do Angular.js, ou seja, não é o recomendado.

Para reativar, utilize a API $parseProvider.unwrapPromises(true).

A correção do código acima deve ser algo como abaixo sugerido:

$http({method: 'GET', url: '/someUrl'})
  .success(function(data) {
    $scope.teste = data;
  });
<p>{{teste}}</p>
Gostou? Tire um minutinho e dê sua contribuição para Drall Dev Community no Patreon!