回调JS代码

Call back JS code

本文关键字:代码 JS 回调      更新时间:2023-09-26

在其他语言中,我习惯了指令按顺序执行,比如1,2,3。JS不是这样工作的。我需要非常简单的JS代码,以确保指令执行1,2,3,而不是2,1,3一次和3,1,2下一次。

在其他语言中,我习惯了指令按顺序执行,比如1,2,3。JS不是这样工作的。

实际上,JavaScript以的方式工作

听起来像你正在调用一个带回调的函数来异步地做一些事情。让我们来试一个例子。

console.log('1');
doSomethingLater(function callback () {
  // This is my callback code
  console.log('3');
});
console.log('2');

输出为1,2,3。

调用doSomethingLater时,您正在做的是将引用传递给匿名函数作为参数doSomethingLater将不会调用该函数,直到它被编程这样做,这通常是一段时间后。

如果忽略回调,很容易看出事情是按顺序执行的。

console.log('1');
doSomethingLater();
console.log('2');

这三条语句按顺序执行。

为了进一步说明这一点,考虑一个setTimeout()的例子,我们只在一秒钟后执行其他代码。(如果你不熟悉setTimeout(),先去查一下,然后再回到这里继续阅读。)

console.log('1');
setTimeout(function () {
  console.log('3');
}, 1000);
console.log('2');

在这个例子中,直到setTimeout()被调用一秒钟之后,我们才尝试执行回调,所以基本上是在console.log('2')之后一秒钟;

JavaScript 按顺序执行

function doSomething(x) {
    console.log('did something', x);
}
console.log(1);
console.log(2);
console.log(3);
doSomething(1);
doSomething(2);
doSomething(3);