![]() |
1
2
JavaScript(几乎与任何其他语言一样)按顺序运行。如果你写
你期望结果是
你希望他们以同样的顺序运行。嵌套函数时,这不会改变:
预期的执行顺序为:
因此,人们在互联网上造成的最大损害是他们在异步编程和回调模式之间使用等号。
这是错误的
有许多使用回调模式的同步函数,例如。
真正发生的是,NodeJS在幕后有这个事件循环。您可以通过调用多个特殊函数来告诉它安排一些事情并稍后运行:
预期的执行顺序如下:
这就是它的工作原理。 |
![]() |
2
0
您一直在编写同步代码,并希望它异步运行。使用回调并不意味着它是异步操作。您应该尝试在函数中使用计时器和api来感受node js非阻塞异步模式。我希望 The Node.js Event Loop 将帮助您开始。 |
![]() |
Jess The Witch · GCP云功能中处理延迟任务的模式 5 月前 |
![]() |
Plup · 连接失败时,PyMongo异步客户端未引发异常 5 月前 |
![]() |
user1233894 · 尝试从全局函数传递值 5 月前 |
![]() |
Fabiano Taioli · 管理单线程Rust中的阻塞函数 9 月前 |
![]() |
river7816 · 为什么spdlog不在async函数中打印 10 月前 |