Node->详解事件流程

前言

什么是事件流程呢?其实就是一个事件的涌入->建立->注册->触发这样一个生命周期,那么怎样操做呢,请听我一一道来前端

引入模块

var events =require( 'events' )
复制代码

建立事件

var vEvents = new events.EventEmitter()
复制代码

注册事件

vEvents.on('onEvent',function (params) {
    console.log(params)
})
复制代码

触发事件

vEvents.emit('onEvent','你们好,欢迎来到凌云在线课堂')
复制代码

能够获得结果bash

好,没有任何的问题,固然这样只是同步操做,咱们在代码最后加入一行代码异步

console.log(1)
复制代码

由于是同步执行,因此咱们会看到执行顺序是从上往下依次执行。ui

那么怎样能够实现异步方法的调用呢?Node官网为咱们提供了一个异步执行方法setImmediate()spa

//代码修改以下:
vEvents.on('onEvent',function (params) {
    // 同步,从上往下执行
    // console.log(`获得的参数是:${params}`)

    // 异步执行该方法
    setImmediate(() => {
        console.log(params)
    })  
})
复制代码

再来看下最终的效果,若是是限制性的console.log(1)就说明咱们的异步执行成功了 code

写在最后

但愿个人分享对你有所帮助,更多资讯请持续关注,我会分享愈来愈多的实战经验哦! 或加入大前端知识体系社区一块儿探索技术:608229520cdn

相关文章
相关标签/搜索