gpt4 book ai didi

angularjs - promise.then.then 和 promise.then 之间有区别吗?答应。然后

转载 作者:行者123 更新时间:2023-12-03 23:08:44 28 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





What is the difference between these two syntax

(1 个回答)


6年前关闭。




我想知道以下两个有区别吗?

  • aPromiseObj.then(fn1).then(fn2).catch(fn3);
  • aPromiseObj.then(fn1); aPromiseObj.then(fn2); aPromiseObj.catch(fn3);

  • 工作流程会改变吗?

    ps:我处于有 Angular 的环境中,尽管我想从更广泛的 Angular 来思考这一点。

    最佳答案

    您询问过 “链接”对比 “分支” .
    假设 f1f2表示返回 promise 的异步操作,是的,存在显着差异。对于选项 1:

  • 它序列化 fn1fn2以便 fn2直到 fn1 返回的 promise 之后才被调用已经解决了。
  • .catch()适用于 fn1 中的错误或 fn2或者如果 aPromiseObj拒绝。
  • fn2如果 fn1 不会被调用拒绝。

  • 对于选项 2:
  • fn2不等待fn1解决。 fn2尽快被调用 fn1返回类似于 fn1(); fn2(); .这意味着由 fn1 启动的异步操作和 fn2两者将同时在飞行中(有时称为并行运行而不是串行运行)。
  • .catch()不适用于任何一个,因为它不在由 .then() 创建的 promise 中。调用。 .catch()在选项 2 中,仅适用于 aPromiseObj拒绝,而不是 f1()f2() .
  • 两者 fn1fn2无论任何一个错误,都将被调用。

  • 另一个相关问题/答案: Understanding javascript promises; stacks and chaining

    关于angularjs - promise.then.then 和 promise.then 之间有区别吗?答应。然后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32216619/

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