如何从promise返回数据
我需要response.data
兑现承诺,以便可以通过封闭函数将其返回。我知道,由于正常的JavaScript范围,我可能无法按照编码的方式进行操作。有什么办法可以做到吗?
位于#1 的 console.log 会生成正确的数据。 console.log #2总是产生’a’;
function addSiteParentId(nodeId) { var theParentId = 'a';
var parentId = relationsManagerResource.GetParentId(nodeId)
.then(function(response){
theParentId = response.data;
console.log(theParentId); // #1
});
console.log(theParentId); // #2
return theParentId;
}
任何指针将不胜感激。
回答:
许诺背后的基本原则之一是它是异步处理的。这意味着您无法创建承诺,然后立即在代码中同步使用其结果(例如,不可能从启动承诺的函数中返回承诺的结果)。
相反,您可能想做的是 然后,任何需要其结果的函数都可以调用.then()
promise,并且在promise被解决时结果就在那里。
- 这是HTML5Rocks的资源,它遍历了Promise的生命周期,以及如何异步解决其输出:http
- //www.html5rocks.com/zh-cn/tutorials/es6/promises/
以上是 如何从promise返回数据 的全部内容, 来源链接: utcz.com/qa/418371.html