gpt4 book ai didi

javascript - done() 与 bluebird 的 spread() 之间的区别

转载 作者:行者123 更新时间:2023-11-30 07:37:14 26 4
gpt4 key购买 nike

嗨,我不明白 spread() 与 JavaScript bluebird 库的 done() 有什么区别。甚至 bluebird 也是 Q< 的包装器 所以 Q 在它的库中也有这两个函数。

谁能解释一下这两个函数之间的区别是什么?

提前致谢!

最佳答案

Even bluebird is wrapper of Q so…

哦,绝对不是。我希望这不会使您的问题无效?

I am not getting what is the difference of spread() vs done()?

API 文档可能会有很大帮助:

  • spread是“就像调用 .then,但实现值或拒绝原因必须是一个数组,它被扁平化为处理程序的形式参数。

    如果您对数组有 promise ,spread 将使用多个参数 调用您的回调。

    Q 的作用是一样的:spread是“then,但将数组“传播”到可变参数实现处理程序中。

  • done是“.then(),但是任何结束于此的未处理的拒绝都将作为错误抛出。[...它]用于显式标记 promise 链的末端。

    有关这方面的更多详细信息,请参阅 error handling文档。请注意,这里的 bluebird 与 Q 完全不同,因为它巧妙地计算出未处理的拒绝和 reports them on its own。 - 你不必明确地告诉它在拒绝到达某个点时抛出全局错误。

    将其与 Q's done documentation 进行比较,建议无限制使用。

如您所见,spreaddone 是完全不同的方法,目的不同。此外,done 模式在 Bluebird 和 Q 之间有所不同。

关于javascript - done() 与 bluebird 的 spread() 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29387231/

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