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

相關文章
相關標籤/搜索