在 .then 函数中发送多个参数

Send multiple arguments in .then function

在回调中,我们可以发送任意数量的参数。

同样,我想将多个参数传递给 then 函数,无论是在 Bluebird promises 还是原生 JavaScript promises 中。

像这样:

myPromise.then(a => {
    var b=122;
    // here I want to return multiple arguments
}).then((a,b,c) => {
    // do something with arguments
});

您可以简单地 return 来自 then 方法的对象。如果你在下一个then中使用destructuring,这就像将多个变量从一个then传递到下一个:

myPromise.then(a => {
    var b = 122;
    return {
        a,
        b,
        c: 'foo'
    };
}).then(({ a, b, c }) => {
    console.log(a);
    console.log(b);
    console.log(c);    
});

请注意,在第一个 then 中,我们使用 returning ab 的快捷方式(与使用 { a: a, b: b, c: 'foo' } 相同).