【发布时间】:2021-06-19 17:22:08
【问题描述】:
我有一个服务,它有一个返回 Promise 的函数;
service.getStuff(); // returns a Promise of an array; I'm interested in the field 'cool stuff'
在单独的服务中,我想获取已解决的承诺的结果并将其分配给全局变量,如下所示:
scope.coolStuff = {resolved value of service.getStuff()['cool stuff']}
我试过这样做:
service.getStuff()
.then(function(stuff) {
scope.stuff = stuff['cool stuff'];
});
但是,console.logging scope.stuff 稍后显示该值未定义。我在这里想念什么?提前致谢!
【问题讨论】:
-
确认一下,
stuff的类型是数组而不是对象? -
是的,所以
service.getStuff()返回一个承诺,当解决时,它是一个数组 -
根据这篇文章:stackoverflow.com/questions/41091818/… 这是不允许的,但我想确认/看看还有哪些其他选项
-
你能
console.log(stuff)告诉我你得到了什么吗? -
service.getStuff() .then(function(stuff) { scope.stuff = stuff['cool stuff']; console.log(scope.stuff); });控制台.log(范围.stuff); /** * 打印:* undefined * true **/
标签: javascript angular promise pg-promise