同步和异步简介
同步:在主线程上排队执行的任务,只有前一个任务执行完毕,才能执行后一个任务
异步:不进入主线程、而进入"任务队列"(task queue)的任务,只有"任务队列"通知主线程,某个异步任务可以执行了,该任务才会进入主线程执行。
除定时器,事件, ajxs请求,fs.readfile(), fs.writefile()之外都是同步
console.log(1);
new Promise((resolve, reject) => {
console.log(2);
resolve();
console.log(3);
}).then(res => {
console.log(4); // 这里是异步的
})
console.log(5);
// 输出顺序: 1 2 3 5 4 ,因为只有 .then() 是异步的