所有承诺解决后返回
Return after all promises resolved
下面有一个代码示例,我想在所有承诺解决后从"main"函数返回 baz 变量。
exports.foo = function(bar) {
var baz;
// some kind of promises are here forming array of promises p
// some of promises may change the baz variable
Promise.all(p).then(() => {
// returning expression for main function is here
// return baz here // does not work
});
// return baz //cannot be done because it would be earlier than all the async promises are resolved
}
承诺在
主返回后解决,因此返回 baz 的承诺:
exports.foo = function(bar) {
var baz;
return Promise.all(p).then(() => baz);
}
exports.foo(3).then(baz => console.log(baz)).catch(e => console.error(e));
相关文章:
- 如何解决“;错误所请求的URL返回500-内部服务器错误”;
- 虽然我更改了标签的文本,但它仍然返回初始值,我该如何解决
- Angularjs提供程序:在返回之前解决$http请求
- 所有承诺解决后返回
- 元素在通过单击链接隐藏后重新出现(需要不包含返回 false 或 preventDefault 的解决方案)
- src 的参数在 javascript 中返回未定义的类型.如何解决
- 在 Array.forEach 块中的所有承诺都已解决后返回
- “杂耍异步” - 为什么我的解决方案根本不返回任何内容
- 转到URL下载文件,但AJAX返回403.为什么以及如何解决
- Node.js解决方案用于XMPP BOSH预绑定以返回SID和RID
- AngularJS/Karma-测试函数返回已解决或拒绝的promise
- 按下按钮我的网页正在重新加载?我尝试过从js返回false之类的方法,但仍然没有解决方案
- 获取插入符号位置的常见解决方案会返回奇怪的结果
- 解决本地主机上jQuery.get()返回null的问题
- 返回一个承诺,而不是用angular's $q.then()来解决它
- 循环遍历数组以查找匹配并返回所有可能的解决方案
- 使用AngularJS立即返回一个解决了的承诺
- 我是否需要在早期解决/拒绝后返回?
- 无法用Angular从HTML视图获取值到控制器.解决方案返回$scope变量undefined
- 数组的数组或使用相同var返回不同值的另一种解决方案