Open shinena opened 1 year ago
Javascript程序总是至少分为两个块:第一块现在运行;下一块将来运行,以响应某个事件。 一旦有事件需要运行,事件循环就会运行,直到队列清空。事件循环的每一轮称为一个tick。用户交互、IO和定时器会向事件队列中加入事件。任意时刻,一次只能从队列中处理一个事件。执行事件的时候,可能直接或间接地引发一个或多个后续事件。 并发是指两个或多个事件链随时间发展交替执行,以至于从更高的层次来看,就像是同时在运行(尽管在任意时刻只处理一个事件)。
回调函数是Javascript异步的基本单元。 但是随着Javascript原来越成熟,对于异步编程领域的发展,回调已经不够用了。
异步:现在与将来
Javascript程序总是至少分为两个块:第一块现在运行;下一块将来运行,以响应某个事件。 一旦有事件需要运行,事件循环就会运行,直到队列清空。事件循环的每一轮称为一个tick。用户交互、IO和定时器会向事件队列中加入事件。任意时刻,一次只能从队列中处理一个事件。执行事件的时候,可能直接或间接地引发一个或多个后续事件。 并发是指两个或多个事件链随时间发展交替执行,以至于从更高的层次来看,就像是同时在运行(尽管在任意时刻只处理一个事件)。