当JavaScript是单线程时,承诺是如何工作的?

当JavaScript是单线程时,承诺是如何工作的?,javascript,Javascript,当JS是单线程时,JavaScript如何执行异步承诺? 我知道如何使用承诺,但我仍然不清楚它在幕后是如何工作的。承诺只是分配给查找的回调队列。一旦您解决了承诺,它将迭代通过分配的所有回调,然后或完成简单地说,每个结果的回调都存储在一个数组中。当在某个事件上解析延迟时,将执行回调。setTimeout的工作方式相同。执行只是延迟,不需要另一个线程来延迟。无论是否存在IO,承诺解析或失败都必须延迟,否则它不是承诺。请参阅:异步!=多线程,但是是的,具有相同的限制。

当JS是单线程时,JavaScript如何执行异步承诺?
我知道如何使用承诺,但我仍然不清楚它在幕后是如何工作的。

承诺只是分配给查找的回调队列。一旦您解决了承诺,它将迭代通过
分配的所有回调,然后
完成

简单地说,每个结果的回调都存储在一个数组中。当在某个事件上解析延迟时,将执行回调。setTimeout的工作方式相同。执行只是延迟,不需要另一个线程来延迟。无论是否存在IO,承诺解析或失败都必须延迟,否则它不是承诺。请参阅:异步!=多线程,但是是的,具有相同的限制。