javascript - Promise.resolve 是异步函数吗?

标签 javascript node.js asynchronous callback promise

当我有以下代码时:

var promise1 = Promise.resolve([1, 2, 3]);

promise1.then((value) => {
  console.log(value);
  // expected output: Array [1, 2, 3]
});


console.log('end of script');

我知道脚本结尾会提前返回,因为 promise 是异步的。但是它在什么时候变成异步的呢?

Promise.resolve() 是异步的吗? 或者 .then 是异步的还是两者兼而有之? 幕后是否还有其他机制在起作用?

(对谷歌来说简直是 hell ,因为我只能得到新的 async await 功能的结果)

最佳答案

 Promise.resolve([1, 2, 3]);

Is Promise.resolve() asynchronous?

不,这只是一个常规的函数调用。它将立即返回结果。

Or is .then asynchronous or even both functions

没有。从某种意义上说,两者都不是异步的

promise1.then((value) => console.log(value));

立即返回一个新的链接 promise 。

然而,Promise 肯定解析 异步,这意味着内部函数 (value => console.log(value)) 被调用肯定是在你的整个同步代码执行之后。

Is there some other mechanism playing under the hood?

是的,后台有一个“神奇的”事件循环,用于管理所有异步事件。

关于javascript - Promise.resolve 是异步函数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48733021/

相关文章:

javascript - Grunt less 文件观察器

node.js - Mongoose 预中间件与 findByIdAndDelete

c# - 异步 FTP 上传

javascript - 如何使用 Javascript 访问 CodeIgniter session cookie?

javascript - 使用图像作为复选框占位符

node.js - 机器人在网络聊天中工作,但在团队 channel 中不起作用

spring - 使用 Kotlin 的异步 Spring Boot 不起作用

javascript - 像Youtube编辑器一样实现Javascript视频

javascript - 将 javascript 缩小文件压缩为单个文件

python - Tornado + python 。等待链式操作完成回调