同步与异步
js有哪些异步任务
cpu执行时间 不能霸占,几十毫秒的轮询分配的执行时间。 进程 董事长 PID process 线程 经理 thread 主线程,还可以启动子线程
-c++,java等系统级别语言有多进程多线程架构,执行效率高,但复杂。 -js 简单,设计为单线程 setTimeout 事件
JS执行机制
-前端script或后端node/bun代码执行 -启动一个进程 PID 负责分配资源 -进程启动一个主线程 js要足够简单,单线程 -先把同步任务快速执行掉,用户需要看到的页面 -还是有定时器,fetch请求,事件等耗时性异步任务。 Async task -js会把他们放到event loop中,先执行后面的同步代码,等同部代码执行完后,再到event loop中把异步代码拿出来执行。
控制执行流程呢?
A fetch users api 所有的用户 B fetch
理解Promise
-实例化Promise -需要传递一个函数,executor 会立即执行,是耗时性异步任务的容器 同步,里面可以容纳异步任务 会得到resolve reject两个函数能力 -resolve 表示异步任务被成功解决了 then 被调用 -reject 表示异步任务被失败了 catch 被调用 -在excutor里面的异步任务成功解决或异常时,手动调用 -resolve(result) 传给then -reject(err)失败的原因