gpt4 book ai didi

javascript - Q Promise 库的 .finally() 和 .done() 有什么区别?

转载 作者:IT老高 更新时间:2023-10-28 23:18:14 24 4
gpt4 key购买 nike

使用 Nodejs Q Promise 库的 .finally() 和 .done() 语句有什么区别。

比如这两者有什么区别?

Q(...)
.then(...)
.finally(); //or fin()

Q(..)
.then()
.done();

最佳答案

promise.done(onSuccess, onError) 只允许您处理已解析的值。另一个好处是它不会暗示任何错误吞咽(就像 promise.then() 的情况一样),它保证任何涉及的异常都会被暴露。它还有效地结束了链条,并且不会返回任何进一步的 promise 。

promise.finally(fn) 用于注册一个在给定promise 解决后必须完成的任务(无论promise 成功还是失败都无关紧要)。通常,您将它用于某种清理操作,例如假设你设置了一个进度条,在请求完成后需要隐藏它(不管它是否成功),然后只需执行 promise.finally(hideProgressBar)。另外 promise.finally() 返回输入 promise,因此您可以将其返回以进行进一步处理。

关于javascript - Q Promise 库的 .finally() 和 .done() 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26030992/

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