【发布时间】:2016-02-09 09:09:47
【问题描述】:
我正在尝试通过使用 bluebird 的 .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。参考页面提到使用的值.return应该在调用.return时绑定。你应该只是一个普通的.then并让扩展方法返回扩展对象。