我知道我们都使用 promises 来避免函数回调 hell ,但我的问题是 promise 代码在事件循环中的什么位置运行以及代码是否真的是异步的。
我的意思是,这段代码是异步的只是因为它在 promise 中运行吗? 还是 promise 不是事件循环的一部分?
const p = new Promise((resolve,reject) =>{
resolve('am i part of the event loop ? , am i a diffrent thread ? or am i synchronized? ')
})
最佳答案
How does promise make code asynchronous?
不是。
promise 提供了一个标准接口(interface)(例如使用 .then()
方法)来处理异步函数。
如果在 promise 中所做的一切都是非异步的,那么代码仍然是非异步的。
const p = new Promise((resolve, reject) => {
console.log(1);
resolve();
console.log(2);
});
console.log(3);
您可以在上面看到,Promise 正在阻塞,就像任何其他非异步代码一样。
关于javascript - promise 是如何让代码异步的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47391272/