Articles of angular promise

Como posso acessar uma variável fora do método `.then` da promise?

Eu estou trabalhando em um aplicativo Spotify. Consigo fazer login e obter meu token. Meu problema é que não consigo acessar uma variável fora do método. Neste caso, “getCurrentUser” Este é o meu método: function getUser() { if ($localStorage.token == undefined) { throw alert(“Not logged in”); } else { Spotify.getCurrentUser().then(function(data) { var names = JSON.stringify(data.data.display_name); […]

Como seqüencialmente sequencia promises com angularjs $ q?

Na biblioteca prometora Q , você pode fazer o seguinte para sequenciar as promises em cadeia: var items = [‘one’, ‘two’, ‘three’]; var chain = Q(); items.forEach(function (el) { chain = chain.then(foo(el)); }); return chain; no entanto, o seguinte não funciona com $ q : var items = [‘one’, ‘two’, ‘three’]; var chain = $q(); […]

O que acontece com $ q.all () quando algumas chamadas funcionam e outras falham?

O que acontece com $ q.all () quando algumas chamadas funcionam e outras falham? Eu tenho o seguinte código: var entityIdColumn = $scope.entityType.toLowerCase() + ‘Id’; var requests = $scope.grid.data .filter(function (rowData, i) { return !angular.equals(rowData, $scope.grid.backup[i]); }) .map(function (rowData, i) { var entityId = rowData[entityIdColumn]; return $http.put(‘/api/’ + $scope.entityType + ‘/’ + entityId, rowData); }); […]

Como eu uso o Bluebird com Angular?

Eu tentei usar Angular com promises Bluebird: HTML: {{name}} {{also}} JS: // javascript var app = angular.module(‘HelloApp’, []); app.controller(“HomeController”, function ($scope) { var p = Promise.delay(1000).then(function () { $scope.name = “Bluebird!”; console.log(“Here!”, $scope.name); }).then(function () { $scope.also = “Promises”; }); $scope.name = “$q”; $scope.also = “promises”; }); window.app = app; [ Violino ] No entanto, […]

Como usar a resposta promise $ http fora do manipulador de sucesso

$scope.tempObject = {}; $http({ method: ‘GET’, url: ‘/myRestUrl’ }).then(function successCallback(response) { $scope.tempObject = response console.log(“Temp Object in successCallback “, $scope.tempObject); }, function errorCallback(response) { }); console.log(“Temp Object outside $http “, $scope.tempObject); Eu estou recebendo resposta em successCallback mas não recebendo $scope.tempObject fora de $http . sua exibição undefined . Como acessar a response ou $scope.tempObject […]

Ordem de execução angular com `$ q` – Promessas de Encadeamento

Seguindo os trabalhos da Abordagem: $q.when() .then(checkCookieToken) // check if cookie already exists eg in cookie .then(setHeader) // set Header with REST-Token eg from cookie .then(checkTokenOnline) // if not OK logout .then(getMenu) // if previous OK get navigation menu .then(getDataResource) // set ngResource .then(getData); // and query it 4 perguntas: 1) Se, por exemplo, checkTokenOnline […]

Por que os callbacks de methods Promise `.then ‘são um antipadrão

Eu vi respostas no StackOverflow onde as pessoas sugerem fornecer uma function de retorno de chamada para um serviço AngularJS. app.controller(‘tokenCtrl’, function($scope, tokenService) { tokenService.getTokens(function callbackFn(tokens) { $scope.tokens = tokens; }); }); app.factory(‘tokenService’, function($http) { var getTokens = function(callbackFn) { $http.get(‘/api/tokens’).then (function onFulfilled(response) { callbackFn(response.data); }); }; return { getTokens: getTokens }; }); Isto parece-me […]

Como cancelar uma solicitação $ http no AngularJS?

Dado um pedido de Ajax no AngularJS $http.get(“/backend/”).success(callback); qual é a maneira mais eficiente de cancelar essa solicitação se outra solicitação for iniciada (mesmo backend, parâmetros diferentes, por exemplo).

Promessa vs Observável

Alguém pode explicar a diferença entre Promise e Observable in Angular? Um exemplo sobre cada um deles seria útil para entender os dois casos. Em que cenário podemos usar cada caso?

AngularJS: inicializa o serviço com dados asynchronouss

Eu tenho um serviço AngularJS que quero inicializar com alguns dados asynchronouss. Algo assim: myModule.service(‘MyService’, function($http) { var myData = null; $http.get(‘data.json’).success(function (data) { myData = data; }); return { setData: function (data) { myData = data; }, doStuff: function () { return myData.getSomeData(); } }; }); Obviamente, isso não funcionará, porque se algo tentar […]