Javascript Node js中的回调函数是否以同步方式执行?

Javascript Node js中的回调函数是否以同步方式执行?,javascript,node.js,callback,Javascript,Node.js,Callback,我正在使用websocket库创建一些套接字,以便将数据传递给我的应用程序 connection.on('message', function(message) { SetOfInstruction1; SetOfInstruction2; }); 我的疑问是:是指令集1和指令集2;按顺序执行或以异步方式执行(这意味着指令集2可以在指令集1之前执行) 以下是SetOfInstruction 1和SetOfInstruction 2的示例: 指令集示例1

我正在使用websocket库创建一些套接字,以便将数据传递给我的应用程序

 connection.on('message', function(message) 
  {
     SetOfInstruction1;  
     SetOfInstruction2;   
  });
我的疑问是:是指令集1和指令集2;按顺序执行或以异步方式执行(这意味着指令集2可以在指令集1之前执行)

以下是SetOfInstruction 1和SetOfInstruction 2的示例:

指令集示例1

for (i 1 to n)
{
     find something1 in something2 array
     if something1 found then set found boolean to true else false;
}
指令集2的示例如下

for (i:1 to n)
{
  if found =true; and someOtherConditions matches
  send message back  with true response
  else{
    //continue 
}


 }

这取决于您正在调用的函数。您需要阅读文档,了解哪些函数是异步的,哪些不是

例如,
fs.readdir
将以异步方式调用,但
fs.readdirSync
不会

也就是说,通常“常规”JS操作(如遍历数组、设置变量和某些值等)不会异步调用


关于node.js特定api-阅读文档。

这取决于您正在调用的函数。您需要阅读文档,了解哪些函数是异步的,哪些不是

SetOfInstruction1;
SetOfInstruction2;
例如,
fs.readdir
将以异步方式调用,但
fs.readdirSync
不会

也就是说,通常“常规”JS操作(如遍历数组、设置变量和某些值等)不会异步调用


关于node.js特定api-阅读文档。

这取决于您正在调用的函数。您需要阅读文档,了解哪些函数是异步的,哪些不是

SetOfInstruction1;
SetOfInstruction2;
例如,
fs.readdir
将以异步方式调用,但
fs.readdirSync
不会

也就是说,通常“常规”JS操作(如遍历数组、设置变量和某些值等)不会异步调用


关于node.js特定api-阅读文档。

这取决于您正在调用的函数。您需要阅读文档,了解哪些函数是异步的,哪些不是

SetOfInstruction1;
SetOfInstruction2;
例如,
fs.readdir
将以异步方式调用,但
fs.readdirSync
不会

也就是说,通常“常规”JS操作(如遍历数组、设置变量和某些值等)不会异步调用

关于node.js特定api-阅读文档

SetOfInstruction1;
SetOfInstruction2;
这些指令将始终按此顺序执行。Javascript不会随机混淆各行的执行顺序。现在

someFunc(function () { console.log('first'); });
someFunk(function () { console.log('second'); });
在这里,将首先记录哪些内容是完全不可预测的。这取决于
someFunc
和/或
someFunk
是异步的还是同步的,如果是异步的,哪一个将首先完成。同样,我们完全可以断言
someFunc
将在
someFunk
之前调用,但是回调的执行顺序取决于这些函数的内部结构

有一些同步函数接受回调,如下所示:

arr.sort(function (a, b) { return a - b; });
console.log(arr);
这里的执行顺序就是你看到的。控制台将记录已排序的数组。但也有异步函数接受回调:

setTimeout(function () { console.log('second'); });
console.log('first');
在控制台记录“first”之后的某个时间调用回调

您必须阅读函数的文档才能知道哪个是哪个

这些指令将始终按此顺序执行。Javascript不会随机混淆各行的执行顺序。现在

someFunc(function () { console.log('first'); });
someFunk(function () { console.log('second'); });
在这里,将首先记录哪些内容是完全不可预测的。这取决于
someFunc
和/或
someFunk
是异步的还是同步的,如果是异步的,哪一个将首先完成。同样,我们完全可以断言
someFunc
将在
someFunk
之前调用,但是回调的执行顺序取决于这些函数的内部结构

有一些同步函数接受回调,如下所示:

arr.sort(function (a, b) { return a - b; });
console.log(arr);
这里的执行顺序就是你看到的。控制台将记录已排序的数组。但也有异步函数接受回调:

setTimeout(function () { console.log('second'); });
console.log('first');
在控制台记录“first”之后的某个时间调用回调

您必须阅读函数的文档才能知道哪个是哪个

这些指令将始终按此顺序执行。Javascript不会随机混淆各行的执行顺序。现在

someFunc(function () { console.log('first'); });
someFunk(function () { console.log('second'); });
在这里,将首先记录哪些内容是完全不可预测的。这取决于
someFunc
和/或
someFunk
是异步的还是同步的,如果是异步的,哪一个将首先完成。同样,我们完全可以断言
someFunc
将在
someFunk
之前调用,但是回调的执行顺序取决于这些函数的内部结构

有一些同步函数接受回调,如下所示:

arr.sort(function (a, b) { return a - b; });
console.log(arr);
这里的执行顺序就是你看到的。控制台将记录已排序的数组。但也有异步函数接受回调:

setTimeout(function () { console.log('second'); });
console.log('first');
在控制台记录“first”之后的某个时间调用回调

您必须阅读函数的文档才能知道哪个是哪个

这些指令将始终按此顺序执行。Javascript不会随机混淆各行的执行顺序。现在

someFunc(function () { console.log('first'); });
someFunk(function () { console.log('second'); });
在这里,将首先记录哪些内容是完全不可预测的。这取决于
someFunc
和/或
someFunk
是异步的还是同步的,如果是异步的,哪一个将首先完成。同样,我们完全可以断言
someFunc
将在
someFunk
之前调用,但是回调的执行顺序取决于这些函数的内部结构

有一些同步函数接受回调,如下所示:

arr.sort(function (a, b) { return a - b; });
console.log(arr);
这里的执行顺序就是你看到的。控制台将记录已排序的数组。但也有异步函数接受调用