waz*_*day 3 javascript angularjs angular-promise
我已经使用该$q服务与Angular建立了一个承诺.
var get = function() {
var defer = $q.defer();
setTimeout(function() {
defer.resolve('test');
}, 1000);
return defer.promise;
}
Run Code Online (Sandbox Code Playgroud)
当我调用此函数时,它返回预期的数据,如下所示:
var promise1 = api.get().then(function(data){
console.log(data); //logs test
});
var promise2 = api.get().then(function(data){
console.log(data); //logs test
});
Run Code Online (Sandbox Code Playgroud)
但是当我使用这个all方法时,我得到一个包含undefined两次的数组.
$q.all([promise1, promise2]).then(function(data){
console.log(data); //logs [undefined, undefined];
});
Run Code Online (Sandbox Code Playgroud)
我在这里错过了什么吗?
您必须从回调中返回数据
试试这样吧
var promise1 = function(){
return api.get().then(function(data){
return data;
});
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1238 次 |
| 最近记录: |