gpt4 book ai didi

javascript - 牛队列的process方法返回的promise可以忽略不计吗?

转载 作者:行者123 更新时间:2023-12-04 15:17:42 25 4
gpt4 key购买 nike

我使用 bull库来设置处理队列,当我对现有队列使用 process 方法时,我收到警告,因为此方法返回一个 promise 。我注意到 bull 的文档忽略了这个返回值,我想知道忽略这样的 promise 是否安全。

Method signature for process method in bull library

其他小问题,如果这个功能失败了我能期待什么?如果我需要等待它完成,这会导致问题,因为我必须在任何地方等待结果,有没有办法避免这种情况?

最佳答案

https://github.com/OptimalBits/bull/issues/1688 (2020 年 4 月),提交者 manast 用“理论上当队列关闭时”回答 Zikoel 的问题“我不清楚何时从 Queue.process 返回的 promise 得到解决”。因为 process 启动队列,as dprentis notes ,promise代表队列本身的状态。该问题从上周开始就有积极的团队参与,因此它可能与维护人员当前的理解或意图是准确的。

为方便起见,这里有一个指向 Queue.process documentation 的链接.你是对的,它没有证明或确认调用 process 的返回 Promise,尽管非常小心地规定了 processor< 的 Promise 返回要求 要传入的函数。

粗略地看一下代码 ( Queue.run ),似乎 process 专门解决了队列关闭解决 promise 的问题(数量由 concurrency 设置) ,默认 1) 作为对 process 的单个调用的一部分创建。但是,测试似乎主要忽略返回的 Promise 或将其用于 chain catch to signal test completion ;使用返回的 promise 的几个例子 seem to be suppressed或其他异常(exception)。因为该行为似乎没有正式记录和测试,所以您可能不想过分依赖它。

虽然忽略返回的 Promise(如文档和测试中所示)或 await 中的任何一个来被动检测队列关闭似乎不是问题,但您也可以对冲您的通过将所有返回的 promise 收集到 Promise.all 调用并链接 catch 以记录任何错误来下注。

关于javascript - 牛队列的process方法返回的promise可以忽略不计吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64001917/

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