使用 bluebird .return() 方法扩展 bluebird promise 解析值



我正在尝试使用蓝鸟的.return()方法扩展承诺解析值。

目前我正在使用以下代码:

doSomethingAsync()              // assume resolved value is {a: 0}
    .return({b: 1})
    .then(console.log);         // prints {b: 1}

我想用doSomethingAsync解析值扩展result对象({b:1}),在本例中为 {a: 0} ,因此我可以写如下内容:

var extend = require('extend');
doSomethingAsync()                          // assume resolved value is {a: 0}
    .return(extend(resolvedValue , {b: 1}))
    .then(console.log);                     // should print {a: 0, b: 1}

是否可以从.return()参数中访问doSomethingAsync()解析值(在这种情况下{a: 0})?

正如我在评论中提到的,这不是应该如何使用.return。只需使用这样的东西:

const Promise = require('bluebird');
const _ = require('lodash');
Promise.resolve({a: 1}).then(obj => _.extend(obj, {b: 2})).then(console.log);

印刷品: { a: 1, b: 2 }

最新更新