我想我理解异步vs同步的本质。我也理解javascript包含某些异步函数,比如setTimeout,它们能够运行,因为它们使用某种Web API。我也明白你可以使用蓝鸟这样的外部库做出承诺。这一切都有道理。
但是,如果Promise是异步的,并且ES6包含原始的Promise对象,那么如果JS是单线程的,那怎么可能呢?
我认为: 1. JS不是纯粹的单线程 2.承诺不是异步的 3. Primitive Promises使用Web API(或环境提供的某种API)
或者上述3个都没有?欣赏详细解释。