使用 bluebird .return() 方法扩展 bluebird promise 解析值
Extend bluebird promise resolved value using bluebird .return() method
我正在尝试使用 bluebird 的 .return()
方法来扩展 promise 解析值。
目前我正在使用以下代码:
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 }
我正在尝试使用 bluebird 的 .return()
方法来扩展 promise 解析值。
目前我正在使用以下代码:
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 }