问题1: 让出线程指的是:跳出async去执行后续的js主线程栈中的任务
问题2: 可以去debug 一下,await testSomething()之后会让出线程,然后执行主线程其他可执行的代码,然后跑完之后,再回来继续往下执行, testAsync() 同理。
问题3: 在问题2 中执行主线程中其他可执行代码时,就往循环队列里面加入了一个 Promise,此时回到 async test(), 执行 testAsync()时同理跳出 async test(),此时执行队列里面的 Promise 打印出 'Promise RESOLVE'。所以这里不是触发执行 promiseFn,而是按照流程执行外部可执行的代码即队列里面的 Promise
展开
5