我有这个工厂,需要在 GlobalService.projectJson() 中的一个 promise 在下一个 promise 之前得到解决,我们用 return query.find();
(query.find( ) 返回一个 promise )
我该如何做到这一点而不以金字塔代码结束?
.factory('DataService', function (GlobalService) {
Parse.initialize(parseblah,parseblah);
return {
getEntityData: function(name) {
GlobalService.projectJson().then(function(result) {
var Entity = Parse.Object.extend(result.login + "_" + name);
var query = new Parse.Query(Entity);
query.descending("createdAt");
return query.find();
})
}
};
});
最佳答案
我相信您只是缺少 getEntityData 方法的 return 语句。
return {
getEntityData: function(name) {
return GlobalService.projectJson().then(function(result) {
var Entity = Parse.Object.extend(result.login + "_" + name);
var query = new Parse.Query(Entity);
query.descending("createdAt");
return query.find();
})
}
};
现在返回值本身就是一个 promise ,它通过 query.find()
的返回值得到解析
关于javascript - 在 Angular 中使 Promise 依赖于另一个 Promise,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25420240/