gpt4 book ai didi

node.js - 在Nodejs中使用q(promises)模块时,then()返回的值是多少?

转载 作者:太空宇宙 更新时间:2023-11-03 22:17:02 25 4
gpt4 key购买 nike

我不是在问 promise 的履行值(value)。

这里我问的是then()函数的返回值。我关心的具体事情是根据条件构建 promise 列表,例如:

function operationThatReturnsPromise() {

var p = q.resolve({ prop1 : value1 })
.then(function(ctx) {.... return ctx;});

if (condition1) {
// which usage is required or preferred?

// 1. p = p.then() ?
p = p.then(function(ctx) { ..... return ctx; } );

// 2. p.then() ?
p.then(function(ctx) {... return ctx; });

}

return p;
}

它们等价吗?doc at Mozilla

A new promise is returned, whose state evolves depending on this promise and the provided callback functions.

Mozilla doc snip

这似乎表明前者(选项 1)是首选。有什么指导吗?

最佳答案

您应该始终使用选项 1。

promise 是一成不变的; .then() 返回一个新的 Promise 以及回调的(最终)结果。

如果你忽略它的返回值,你将永远不会等待操作完成,更糟糕的是,任何失败都会被默默地吞噬。

关于node.js - 在Nodejs中使用q(promises)模块时,then()返回的值是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23795495/

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