添加数据以承诺返回

时间:2014-07-20 18:16:43

标签: return promise bluebird

例如:

    return getPackages()
        .map(function(package){
            console.log(package.name);
            return latestAsync(package.name)
        })
        .each(function(version) {
            //I want package to make it so it will be in this scope too
            console.log(package.name, package.version, version) 
        });

我希望在履行承诺时将package发送到下一个/然后 怎么可能?

我正在使用蓝鸟。

1 个答案:

答案 0 :(得分:2)

您可以使用Promise.props

返回合成值
return getPackages()
    .map(function(package){
        console.log(package.name);
        return Promise.props({version: latestAsync(package.name), package: package });
    })
    .each(function(r) {
        //I want package to make it so it will be in this scope too
        console.log(r.package.name, r.package.version, r.version) 
    });

替代解决方案是: