2号

nodejs

js的运行环境,基于v8引擎,非阻塞IO,事件驱动,单进程单线程

优:IO密集型场景(磁盘、网络、数据库)

劣:CPU密集型(图像处理)

 

语义版本控制

*异步与回调*

通常子线程异步执行任务后,无法与主线程同步,JavaScript 中的异步操作函数往往通过回调函数来实现异步任务的结果处理。

*异步函数*

async function asyncFunc() {
   await print(1000, "First");
   await print(4000, "Second");
   await print(3000, "Third");
}
asyncFunc();
function print(delay, message) {
   return new Promise(function (resolve, reject) {
       setTimeout(function () {
           console.log(message);
           resolve();
      }, delay);
  });
}

await后必须接Promise,调用者会等待Promise执行结束后再往下执行。

await/async更易于调试

3号

process.nextTick(() => {
 //做些事情
})

在下一个滴答开始之前执行

setTimeout(()=>{},0) 在下一个滴答结束之后执行

 

setImmediate(() => {
//运行一些东西
})

类似于setTimeOut也是下一个迭代中执行

 

js单进程单线程

使用回调来

 

async函数总会返回Promise,即使他并没有显示返回,如

const aFunction = async () => {
 return '测试'
}

aFunction().then(alert) // 这会 alert '测试'
 
版权声明:本文为z佩奇原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/zpq5935/p/16298910.html