gpt4 book ai didi

node.js - 使用 bluebird .return() 方法扩展 bluebird Promise 解析值

转载 作者:太空宇宙 更新时间:2023-11-04 00:44:32 25 4
gpt4 key购买 nike

我正在尝试使用 bluebird 的 .return() 来扩展 promise 解析值方法。

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

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

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

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 }

关于node.js - 使用 bluebird .return() 方法扩展 bluebird Promise 解析值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35282136/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com