js 只有一个线程,那么用了异步,等待 io 的时候,不用消耗线程吗?没有一个守护线程去等待 io 吗
看到网上说 js 只有一个线程
那么我理解 js 同时只能做一件事
如果这个线程 同步去请求一个图片, 如果网络很卡, 那么其他地方就会卡住, 因为没有线程去处理其他地方
可是我看到网上说, 用来异步就可以解决这个问题
我的理解是: 用了异步后, 发起请求后,这个线程继续处理 ui,处理其他事情 , 等 io 请求返回结果以后,线程就切换到原来的地方,对 io 结果进行处理
可是,js 怎么知道 io 请求完毕 了呢? 难道不用起一个新线程,专门请求 io 吗? 或者监听 io 请求状态吗
谁告诉 js 这个 io 请求完毕了呢? 操作系统吗? 或者 其他的
谢谢