JavaScript解释器如何知道遇到的函数调用应该被同步还是异步处理?

穆迪

最近,我正在学习javaScript中的异步函数。

我现在知道什么是回调,同步和异步之间的区别以及回调地狱反模式。

但是,我仍然有一个问题让我对已经学到的东西总是感到不舒服:

JavaScript解释器如何知道遇到的函数调用应该被同步还是异步处理?例如,如果javascript解释器遇到...

setTimeout(callback,5000) //Assming that callback is a callback function

...它完成运行此功能(在主堆栈为空之后,在其自己的新堆栈中)。但是,当遇到...

function myFunction(callback) { callback(); }

...它同步地对待它。

javascript解释器是否具有应异步处理的功能列表?
如果不是,那么如何知道应该同步还是异步对待遇到的函数呢?


对不起,如果我在英语语法上有任何错误,请先感谢您照常为我提供帮助。

杰里尔·塞巴斯蒂安(Jeril Sebastian)

你是对的。JavaScript解释器确实知道异步功能,它们setTimeout是其中之一。异步行为由基础运行时代码处理。

而且,如果不使用内置异步函数之一,就无法创建自己的异步函数。异步性来自解释器,该解释器又来自底层OS公开的异步I / O接口(或线程,如果只有阻塞I / O,则为线程)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

JavaScript函数是同步还是异步?

来自分类Dev

JavaScript函数是同步的还是异步的?

来自分类Dev

编译器/解释器如何知道函数是异步的?

来自分类Dev

Nodejs如何知道同步还是异步

来自分类Dev

$ .each循环内的函数调用,是异步还是同步?

来自分类Dev

如何知道代码中的解释器是Jython还是CPython?

来自分类Dev

PURE Javascript是同步的还是异步的?

来自分类Dev

如何以安全的方式从异步函数中调用同步函数

来自分类Dev

我们应该同时提供SmtpClient包装器的异步实现还是同步实现?

来自分类Dev

为什么仅调用同步函数时javascript promises异步?

来自分类Dev

Javascript SCORM API提交-异步还是同步?

来自分类Dev

从同步函数中调用异步函数

来自分类Dev

如何使异步Dart调用同步?

来自分类Dev

我应该使用同步Mono :: map还是异步的Mono :: flatMap?

来自分类Dev

如何识别Web服务是异步还是同步

来自分类Dev

lua同步调用C异步函数

来自分类Dev

lua同步调用C异步函数

来自分类Dev

如何处理循环中调用的异步函数?

来自分类Dev

多个异步jquery调用似乎已由ASP.NET服务器同步处理

来自分类Dev

在GWT中,RPC调用是同步的还是异步的

来自分类Dev

调用推力后启动的CUDA内核是同步的还是异步的?

来自分类Dev

Django是同步还是异步?

来自分类Dev

PHP是同步还是异步?

来自分类Dev

如何修复“未知的Ruby解释器版本(不知道如何处理)”

来自分类Dev

如何修复“未知的Ruby解释器版本(不知道如何处理):RUBY_VERSION。”

来自分类Dev

如何修复“未知的Ruby解释器版本(不知道如何处理)”

来自分类Dev

同步函数调用的行为与异步函数调用的“等待”行为

来自分类Dev

我应该使用Python还是C作为语言解释器?

来自分类Dev

解释奇怪的函数调用处理/结果

Related 相关文章

  1. 1

    JavaScript函数是同步还是异步?

  2. 2

    JavaScript函数是同步的还是异步的?

  3. 3

    编译器/解释器如何知道函数是异步的?

  4. 4

    Nodejs如何知道同步还是异步

  5. 5

    $ .each循环内的函数调用,是异步还是同步?

  6. 6

    如何知道代码中的解释器是Jython还是CPython?

  7. 7

    PURE Javascript是同步的还是异步的?

  8. 8

    如何以安全的方式从异步函数中调用同步函数

  9. 9

    我们应该同时提供SmtpClient包装器的异步实现还是同步实现?

  10. 10

    为什么仅调用同步函数时javascript promises异步?

  11. 11

    Javascript SCORM API提交-异步还是同步?

  12. 12

    从同步函数中调用异步函数

  13. 13

    如何使异步Dart调用同步?

  14. 14

    我应该使用同步Mono :: map还是异步的Mono :: flatMap?

  15. 15

    如何识别Web服务是异步还是同步

  16. 16

    lua同步调用C异步函数

  17. 17

    lua同步调用C异步函数

  18. 18

    如何处理循环中调用的异步函数?

  19. 19

    多个异步jquery调用似乎已由ASP.NET服务器同步处理

  20. 20

    在GWT中,RPC调用是同步的还是异步的

  21. 21

    调用推力后启动的CUDA内核是同步的还是异步的?

  22. 22

    Django是同步还是异步?

  23. 23

    PHP是同步还是异步?

  24. 24

    如何修复“未知的Ruby解释器版本(不知道如何处理)”

  25. 25

    如何修复“未知的Ruby解释器版本(不知道如何处理):RUBY_VERSION。”

  26. 26

    如何修复“未知的Ruby解释器版本(不知道如何处理)”

  27. 27

    同步函数调用的行为与异步函数调用的“等待”行为

  28. 28

    我应该使用Python还是C作为语言解释器?

  29. 29

    解释奇怪的函数调用处理/结果

热门标签

归档