学习JavaScript的基础知识时,您应该快速理解它是一种单线阅读语言。这意味着只有一行代码可以一次运行。为了运行复杂的代码,有必要了解如何运行基本顺序流出的代码。
在处理可能需要更长时间运行的代码时,异步JavaScript特别有用。 MDN Web Docs将其定义为:
“异步编程是一种使您的程序能够启动可能长期运行的任务,并且在该任务运行时仍然能够响应其他事件,而不必等到该任务完成。一旦该任务。一旦该任务。已经完成了您的程序。”
在哪里有用的示例包括回调功能,从API中获取数据,承诺和事件听众的事件。
如果我们查看一个示例,我们可以看到它的工作原理。以下内容,Settimeout()是一种为指定代码设置计时器的方法。请注意,秒的数量而不是顺序决定输出的内容。
settimeout(()=> {
console.log(“消息1”);
},7000);
settimeout(()=> {
console.log(“消息2”);
},5000);
settimeout(()=> {
console.log(“消息3”);
},1000);
//输出:
//消息3
//消息2
//消息1
消息3仅需1秒钟,消息2 5秒和消息1 7秒。该代码按顺序排列读取,但根据处理三个不同消息所需的时间,输出是异步的。
异步操作由事件循环处理。控制台中的代码将按线读取和调用,但是堆栈中的某些操作将花费更多的时间,并将其放置在任务队列中,事件循环将以JavaScript(如JavaScript)的单线阅读语言来管理其执行。