Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript如何成为一种同步语言并在浏览器和node.js环境中异步运行?_Javascript_Node.js_Browser_V8_Execution - Fatal编程技术网

javascript如何成为一种同步语言并在浏览器和node.js环境中异步运行?

javascript如何成为一种同步语言并在浏览器和node.js环境中异步运行?,javascript,node.js,browser,v8,execution,Javascript,Node.js,Browser,V8,Execution,我是说实际的区别是什么?我知道Google v8引擎会在浏览器和node.js环境中对其进行解释?那么我在这里错过了什么?同一代码如何以不同方式执行 同一种语言如何同步和异步 javascript如何在浏览器中同步运行,在Node.js环境中异步运行 没有。它在两种环境中都以单线程*、事件驱动的方式运行。当处理任务(例如,响应发生的事情)时,该线程同步地执行任务。它可以做的一件事(在这两种环境中)是在当前任务完成后安排一个异步回调进行处理 同一种语言如何同步和异步 同步与异步处理主要是环境问题,

我是说实际的区别是什么?我知道Google v8引擎会在浏览器和node.js环境中对其进行解释?那么我在这里错过了什么?同一代码如何以不同方式执行

同一种语言如何同步和异步

javascript如何在浏览器中同步运行,在Node.js环境中异步运行

没有。它在两种环境中都以单线程*、事件驱动的方式运行。当处理任务(例如,响应发生的事情)时,该线程同步地执行任务。它可以做的一件事(在这两种环境中)是在当前任务完成后安排一个异步回调进行处理

同一种语言如何同步和异步

同步与异步处理主要是环境问题,而不是语言问题。有些语言的功能设计使其更易于在多线程环境中使用(与同步/异步环境不同),有些语言可能内置异步功能,但如果语言没有(JavaScript没有),环境可以提供这些功能

例如:JavaScript没有任何内置方式来安排异步回调**。但是浏览器提供的
setTimeout
函数正好可以做到这一点(Node也提供
nextTick
和其他各种功能)


*除了浏览器可以通过启动多个线程(节点代码可以生成子进程)


**ES6的承诺将改变这一点;解决或拒绝ES6承诺本质上是一种异步操作(更多信息,以及)。

它在浏览器中不同步too@NaeemShaikhjavascript作为一种语言不是同步的、单线程的吗?@dimrizo:这种语言在线程主题上是完全沉默的,所以它取决于环境。@t.J.Crowder-friend,你能推荐一些关于线程主题的好文章吗?我已经在node.js中编写了一个完整的web应用程序,每天访问100次,但是我仍然发现很难理解回调和异步性质。也许因为我是自学成才的程序员。