gpt4 book ai didi

javascript - 处理 promise 链中的早期返回的最佳方式?

转载 作者:行者123 更新时间:2023-11-30 08:00:28 25 4
gpt4 key购买 nike

在 Bluebird 中处理提前返回而不抛出错误的最佳方法是什么。例如,我有以下条件:

things.find(1)
.then(function(thing) {
if (thing.condition === true) {
return thing
} else {
// early return?
}
})
.then(function(thing) {
return doStuff(thing)
})

最佳答案

一旦 .then 链形成,它的自然行为是随着每个阶段的稳定逐步运行直至完成。

对于“提前返回”(不是一个好词,但我们知道你的意思),你有三个选择:

  • 抛出一个错误,或返回一个被拒绝的 promise ,以绕过所有成功处理程序直到下一个捕获(或链的末端)
  • 返回保证永远不会结算的 promise - 例如 return new Promise()
  • 响应式地编写 .then 链(Esailija 的回答)

关于javascript - 处理 promise 链中的早期返回的最佳方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29525354/

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