javascript - Promise在nodejs中是同步还是异步

标签 javascript node.js asynchronous promise synchronous

我在 promise 中有很多困惑。它是同步的还是异步的?

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

最佳答案

您传递 Promise 构造函数的函数同步运行,但是任何依赖于它的解析的东西都将被异步调用。即使 promise 立即 resolve,任何处理程序都将异步执行(类似于 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 - Promise在nodejs中是同步还是异步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57581970/

相关文章:

javascript - 如何在流中使用 ES8 异步/等待?

node.js - 如何使用 Sequelize 实现 Node.JS 模型

node.js - NodeJS gcloud - 使用公共(public)读取属性/自定义缓存过期上传到谷歌存储

c# - await Task.Delay() 与 Task.Delay().Wait()

javascript - 如何衡量搜索查询和点击率?

javascript - 使用关键帧动画光标不起作用

javascript - 从父窗口访问 iframe 中的 DOM 附加函数

database - 将关系数据库转换为 couchDB (noSQL)

python - 仅在第一个函数设置全局标志后才完成响应

javascript - Typescript 异步函数包装 Promise