Con API promessa, come inviare due richieste asincrone in parallelo e risolvere il risultato combinato come risposta.Promise: combinazione di risultati di 2 chiamate asincrone
var get = function(id){
var res1, res2;
var deferred = $q.defer();
Db.get(id, "abc")
.then(function (d) {
//deferred.resolve(d));
res1 = d;
}, function (e) {
//error
});
Db.get(id, "def")
.then(function (d) {
//deferred.resolve(d));
res2 = d;
}, function (e) {
//error
});
//?????? how to return {res1:res1 , res2: res2}
return deferred.promise;
};
ora, quando chiamo get() come
get(123).then(function(d)){
// d= {res1: res1, res2: res2}
},
...
ho bisogno di ottenere il risultato combinato come indicato. Come fare questo con l'API di promessa di Angular?
Grande risposta +1. Inoltre, vi ringrazio per aver chiarito i dettagli sulla gestione degli errori, perché non ne ero sicuro. Se si dispone di un momento, si prega di avvisare su http://stackoverflow.com/questions/16311803/chaining-2-asynchronous-calls-promise-api-to-run-serially, mi sforzo che la clausola allora non blocchi – bsr