angularjs: chain promises returns 一个 promise 而不是一个对象
angularjs: chain promises returns a promise instead of an object
我有一个连锁承诺,我想 return 一个对象而不是一个承诺。相反,我得到了一个承诺。
这是函数:
self.get = function(id) {
var parameters = [id];
var orders = {}
return DBA.queryAgent("SELECT * FROM Orders WHERE " + column_id + " = ?", parameters).then(function(result) {
return DBA.getById(result);
}).then(function(result) {
order = result;
return self.getProdutcs(id);
}).then(function(result) {
order.Products = result;
return order;
});
}
我希望
service.get(1)
return一个对象,我得到一个承诺。我哪里错了?
谢谢
您可以通过执行以下操作来访问该值:
service.get.then(function(result) {
console.log(result);
});
来自 angular 文档 https://docs.angularjs.org/api/ng/service/$q
calling the then
method of a promise returns a new derived promise,
angular就是这么写的。因此,您必须像这样访问它。
service.get.then(function(result) {
// whatever
});
我有一个连锁承诺,我想 return 一个对象而不是一个承诺。相反,我得到了一个承诺。 这是函数:
self.get = function(id) {
var parameters = [id];
var orders = {}
return DBA.queryAgent("SELECT * FROM Orders WHERE " + column_id + " = ?", parameters).then(function(result) {
return DBA.getById(result);
}).then(function(result) {
order = result;
return self.getProdutcs(id);
}).then(function(result) {
order.Products = result;
return order;
});
}
我希望
service.get(1)
return一个对象,我得到一个承诺。我哪里错了?
谢谢
您可以通过执行以下操作来访问该值:
service.get.then(function(result) {
console.log(result);
});
来自 angular 文档 https://docs.angularjs.org/api/ng/service/$q
calling the
then
method of a promise returns a new derived promise,
angular就是这么写的。因此,您必须像这样访问它。
service.get.then(function(result) {
// whatever
});