使用蓝鸟.return()方法扩展蓝鸟诺言解决的价值
我试图通过使用蓝鸟的.return()
方法来扩展承诺解决的价值。
目前我使用下面的代码:
doSomethingAsync() // assume resolved value is {a: 0} .return({b: 1}) .then(console.log); // prints {b: 1}
我想扩展result
对象({b:1})与doSomethingAsync
parsing的值,在这种情况下{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()
parsing的值(在这种情况下为{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 }