javascript - Node js中Promise是同步还是异步

标签 javascript node.js asynchronous promise synchronous

我对 promise 有很多困惑。是同步的还是异步的?

return new Promise (function(resolved,reject){
    //sync or async? 
});

最佳答案

传入 Promise 构造函数的函数同步运行,但任何依赖于其解析的函数都将被异步调用。即使 promise 立即解析,任何处理程序都将异步执行(类似于您 setTimeout(fn, 0) 时) - 主线程首先运行到最后。

无论您的 Javascript 环境如何 - 无论您使用的是 Node 还是浏览器,这都是正确的。

console.log('start');
const myProm = new Promise(function(resolve, reject) {
  console.log('running');
  resolve();
});
myProm.then(() => console.log('resolved'));
console.log('end of main block');

关于javascript - Node js中Promise是同步还是异步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49911319/

相关文章:

c++ - 尝试用 Boost::Beast 替换我的 libwebsocket 代码

c# - _ = Task.Run vs async void | Task.Run 与 Async Sub

javascript - NestJS Controller 未映射

javascript - 如何在 DOM 上触发 js 创建的触摸事件

node.js - 如何自动将关系中的属性附加到根对象?

javascript - MongoDb 字段加密

javascript - 如何使用 Unirest 在 Nodejs 中调用多个请求

c++ - 对 WriteFile 的异步调用会导致写入中断吗?

javascript - 为什么javascript函数不打印

javascript - React js使用CSS自定义类型文件的输入