javascript - Node JS Promise.all() 结果命名

标签 javascript node.js bluebird naming

有没有办法为 Promisee.all 中的每个结果分配名称?

假设这是我的代码:

Promise.all([getBalls, getKids, getTeams])
.then(function (results) {
    const new_team = doSomething(results[0], results[1],results[2])
    resolve(new_team);
});

我希望它是这样的:

Promise.all([
    balls: getBalls,
    kids: getKids,
    teams: getTeams
]).then(function (results) {
    const new_team = doSomething(balls,kids,teams)
    resolve(new_team);
});

最佳答案

可以使用ES2015的Array destructuring.then 回调函数中:

Promise.all([
    getBalls, 
    getKids, 
    getTeams
]).then(function ([ balls, kids, teams ]) { // <= notice the function parameters
    const new_team = doSomething(balls, kids, teams);
    resolve(new_team);
});

关于javascript - Node JS Promise.all() 结果命名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43224546/

相关文章:

javascript - React Hooks 多个带有单独倒计时的警报

javascript - Node.js - 我如何为我的网络应用程序设置这个小服务?

javascript - 我如何知道函数何时超时?

javascript - 在 Node JS 中实现 Bluebird 嵌套循环 Promise

javascript - 从 Meteor 运行 bash 脚本服务器端时出现问题

javascript - ExtJS 5.1 在本地商店记住我

javascript - 使用 PHP 或 JS 解码 Youtube 密码签名的最佳方法

node.js - Runtime.ImportModuleError 错误 : Cannot find module 'axios/lib/utils' Serverless

node.js - 使用 bluebird .return() 方法扩展 bluebird Promise 解析值

javascript - 如何检查对象是否是 Promise?