JS调用栈/回调队列/事件循环
2019-08-19 本文已影响0人
杨肆月
调用栈
JS是单线程,一次只能做一件事
执行一个函数即入栈,函数return后即出栈
阻塞/异步/回调队列/事件循环
单线程容易遇到一个问题:阻塞
解决办法:异步回调
解决原理:调用栈把会阻塞的函数丢到Web APIs里,Web APIs再把它丢到回调队列里,
通过事件循环——看着调用栈空了,就把回调队列里的函数丢回调用栈里让它执行
JS是单线程,一次只能做一件事
执行一个函数即入栈,函数return后即出栈
单线程容易遇到一个问题:阻塞
解决办法:异步回调
解决原理:调用栈把会阻塞的函数丢到Web APIs里,Web APIs再把它丢到回调队列里,
通过事件循环——看着调用栈空了,就把回调队列里的函数丢回调用栈里让它执行