javascript - promise 是如何让代码异步的?

标签 javascript node.js asynchronous promise

我知道我们都使用 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/

相关文章:

node.js - Sequelize "config file"中有什么内容?

swift - 如何在 Swift 中创建自定义完成 block

javascript - 正确终止 NodeJS Async Await

javascript - 在 JavaScript 中操作父标签

javascript - React 组件被调用但未正确渲染

javascript - 替代javascript中的多个if else语句

node.js - 无法将环境变量传递给 docker

node.js - ejs 变量增量不起作用

android - 回调 hell : Sequencing RESTful Volley requests? RxAndroid?

javascript - Kendo UI - 将网格导出为没有页面 block 的 PDF