美文网首页
异步处理的强者——Nodejs

异步处理的强者——Nodejs

作者: 杨格格杨 | 来源:发表于2018-09-29 15:16 被阅读0次

Node是一个站在巨人肩膀的新技术,它是基于V8引擎的一个可以称之为“心脏”的配件,所谓打怪手,一定也需要良好的装备,它还拥有高阶函数和闭包的异步编码范式。读一句话,有时候需要有些咬文嚼字的谨慎,这边讲到了高阶函数和闭包还有异步。下面,就先将这些概念梳理一下,便于后面进行更复杂的程序思想理解。所谓的同步和异步,直接通过实战来演示。

先上一盘同步的伪代码。

function request (){

//开始执行函数a

$rel_a = stage_a();

//读文件,将文件内容,返回到$data

$data = readfile();

//将前两步的结果作为参数,调用函数b

stage_b($rel_a,&data);

}

简单几行代码,可以看出,执行函数时,每一个请求都是用一线程(或进程)来处理。一次请求处理完成之后,线程被回收。这边有2个线程,也即 stage_a和stage_b。

接着,弄一波异步机制的伪代码。

var request = function(){

//开始执行函数 a

var rel_a = stage_a();

//发起异步读取,主线程立即返回,处理后后面的任务

readfileAsync(function(data){

//在随后的循环中,执行回调函数

stage_b(rel-a,data);

});

}

伪代码表达的是程序的流程机制,还有一种坐标表示方法来比较两者的区别。

同步线程处理 node异步

这边需要说明的是,这个请求假设了有三个阶段:执行函数、一次I/O操作,执行函数b。但是实际中,请求有很多其他的形式。在异步的图中,可以明显看出,node的主线程是第一位的,当主线程完成之后,可能还需要等待一定的时间来输出函数a。

相关文章

  • 异步处理的强者——Nodejs

    Node是一个站在巨人肩膀的新技术,它是基于V8引擎的一个可以称之为“心脏”的配件,所谓打怪手,一定也需要良好的装...

  • nodejs异步处理

    我们先来看一个例子: 这是一个从文件中读取文件的代码,fs.readFile的第三个参数是个回调函数,当文件读取成...

  • Nodejs 异步处理的演进

    ** 场景 ** 当我们使用Nodejs 作为后台服务器语言时, 常常要处理大量的异步I/O 操作。例如当我们想要...

  • node 一些思考

    nodejs特点 单线程 异步处理 nodejs服务器模型 看下服务器模型进化史 石器时代 同步青铜时代 复...

  • Nodejs Promise 读书笔记

    Nodejs Promise 读书笔记 前言 Promise是抽象异步处理对象以及对其进行各种操作的组件。(Pro...

  • Nodejs异步回调的处理方法总结

    前些天弄了篇JavaScript异步问题解决方案,在nodejs中异步回调的处理方法也大同小异,我们来看看吧。 1...

  • 异步I/O的难点

    其实异步的I/O的难点与不适,在NodeJs,甚至JavaScript中有这很具体的体现。 难点1:异常处理难。 ...

  • 02.NodeJs基本语法

    一.认识NodeJs 1.NodeJs的事件驱动和异步IO 缺点: 2.npm介绍: ​ 是nodejs自带的...

  • Nodejs异步回调之异常处理

    目前我们项目的Nodejs异常是通过express next 到 errorhandler 中间件去处理的,原本以...

  • 链接

    webpack新手教程 javascript标准库 异步请求 nodejs的安装nodejs的升级淘宝npm vu...

网友评论

      本文标题:异步处理的强者——Nodejs

      本文链接:https://www.haomeiwen.com/subject/tiuvoftx.html