背景JS 是一门单线程的编程语言,这就意味着一个时间里只能处理一件事,也就是说 JS 引擎一次只能在一个线程里处理一条语句。(浏览器和 nodejs 已经支持 js 启动进程,如 web worker

虽然单线程简化了编程代码,因为这样咱们不必太担心并发引出的问题,这也意味着必须在阻塞主线程的情况下执行长时间的操作,如网络请求。

想象一下从 API 请求一些数据,根据具体的情况,服务器需要一些时间来处理请求,同时阻塞主线程,使网页长时间处于无响应的状态。这就是引入异步 JS 的原因。使用异步 (如 回调函数、promiseasync/await),可以不用阻塞主线程的情况下长时间执行网络请求。

总结:基于 js 单线程本质,同步会阻塞代码执行,异步不会阻塞代码执行。

如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:叶继伟

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!