【问题标题】:Do javascript promises work using event emitters?javascript 承诺是否使用事件发射器工作?
【发布时间】:2021-06-07 07:14:55
【问题描述】:

我正在研究 javascript 中的承诺概念和状态:待处理/已解决/已拒绝。但是我找不到太多关于挂起状态如何更改为已解决/已拒绝的信息。它是通过事件发射器和侦听器发生的吗?如果不是,那它是如何工作的?

【问题讨论】:

标签: javascript promise


【解决方案1】:

不久前我不会做得更好explaining than the article I used to look into this,但我认为您正在寻找的术语是executor

传递给 new Promise 的函数称为执行器。当新的 Promise 被创建时,executor 会自动运行。它包含最终应该产生结果的生产代码。按照上面的类比:执行者是“歌手”。

它的参数 resolve 和 reject 是 JavaScript 本身提供的回调。我们的代码只在执行器内部。

当执行器获得结果时,无论是早是晚,都没有关系,它应该调用这些回调之一:

resolve(value) — 如果作业成功完成,带有结果值。 reject(error) — 如果发生错误,error 是错误对象。 总结一下:执行器自动运行并尝试执行一项工作。尝试完成后,如果成功则调用 resolve,如果出现错误则调用 reject。

【讨论】:

    猜你喜欢
    • 2020-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-12
    相关资源
    最近更新 更多