Node.js 事宜轮回

Node.js事宜轮回

Node.js 是单历程单线程应用顺序,然则由于V8引擎供应的异步实行回调接口,经由过程这些接口能够处置惩罚大批的并发,所以机能异常高。
Node.js 险些每一个API都支撑回调函数。
Node.js 基本上一切都事宜机制都是经由过程观察者形式完成
Node.js 单线程相似进入一个while(true)事宜轮回,直到没有事宜观察者退出,每一个异步事宜都天生一个事宜观察者,
如果有事宜发作就挪用该回调函数。

事宜驱动顺序
Node.js 运用事宜驱动模子,当web server吸收到要求,就把它封闭然后举行处置惩罚,然后去效劳下一个web要求。

当这个要求完成,它被放回处置惩罚行列,当抵达行列开首,这个效果被返回给用户。

这个模子异常高效可扩展性异常强,由于webserver一向吸收要求而不守候任何读写操纵。(这也被称之为非壅塞式IO或许事宜驱动IO)

在事宜驱动模子中,会天生一个主轮回来监听事宜,当检测到事宜时触发还调函数。

《Node.js 事宜轮回》

//引入events
const events = require('events')
// 建立eventEmitter对象
const eventEmitter = new events.EventEmitter();

// 建立时候处置惩罚顺序 
var connectHandler = function connected (){
    console.log('衔接胜利')
    // 动身data_received事宜
    eventEmitter.emit('data_received')
}
// 绑定connection事宜处置惩罚顺序
eventEmitter.on('connection', connectHandler)

// 运用匿名函数绑定data_received事宜
eventEmitter.on('data_received',() => {
    console.log('数据吸收胜利。')
})
// 触发connection事宜
eventEmitter.emit('connection')

console.log('顺序实行终了')

《Node.js 事宜轮回》

Node应用顺序是怎样事情的 ??

在Node应用顺序中,实行异步操纵都函数将回调函数作为末了一个参数,回调函数吸收毛病对象做一个第一个参数。

const fs = require("fs")

fs.readFile('input.txt',(err,data) => {
    if(err) {
        console.log(err)
    }else{
        console.log(data.toString())
    }
})
console.log("顺序实行完毕!")

这段代码,input.txt文件我给删除了,所以在实行过程当中,发作毛病,毛病err对象就会输出毛病信息。

《Node.js 事宜轮回》

    原文作者:ˉˉˉ以默轩然
    原文地址: https://segmentfault.com/a/1190000019375615
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞