国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

node js模塊機制與異步處理

curlyCheng / 1595人閱讀

摘要:異步編程高介函數高介函數是將函數作為參數,或者作為返回值的函數。異步編程解決方案事件發布訂閱模式事件監聽器模式是廣泛應用于異步編程,是回調函數的時間化,又稱發布訂閱模式。

1.模塊機制

commonJS模塊機制出現的目的是為了構建js在web服務器,桌面程序,瀏覽器等方面形成生態系統。而node js就是這種規范的一種實現,用requird來引入其他文件,同樣,npm也遵循了commonJS定義的包規范,從而形成了一套完整的生態系統。

模塊定義并導出
例如有如下一個名為circle.js的文件

exports.getName = function(name) {
    return name
}

模塊載入

var circle = require("/circle.js")
console.log(circle.getName("WPY"))

模塊加載策略
node模塊主要可以分為兩類:

原生模塊和自定義模塊,所謂原生模塊就是node自己定義的模塊,例如HTTP,fs模塊,此類模塊加載速度最快。
還有一類是自定義模塊,包括包模塊,和我們自己定義的文件。無論是原生模塊還是自定義模塊在第一次加載后都會被node緩存,所以第二次請求時是不會有開銷的。
原生模塊加載:
require()方法在解析文件名之后,最優先在模塊緩存中查找,然后在node的原生模塊中查找
從文件加載
module.path 對于每一個被加載的文件模塊,在創建這個模塊對象的時候都會有一個paths屬性。其路徑指向引入模塊的路徑。
在請求絕對路徑模塊時,不會去遍歷node_module加載速度最快。

異步編程

高介函數
高介函數是將函數作為參數,或者作為返回值的函數。

function foo(X) {
    return function() {
        return x
    }
}

NODE帶來的最大特性莫過于機遇事件驅動的非阻塞IO。

異步編程解決方案

1.事件發布/訂閱模式

事件監聽器模式是廣泛應用于異步編程,是回調函數的時間化,又稱發布/訂閱模式。
//訂閱

emitter.on("event1", function(message){
    console.log(message)
})

//發布

emitter.emit("event1", "I am message")
2.Promise模式

promise對象具有三種狀態,未完成態,完成態,失敗態。
promise對象要具有then方法,對于then 方法有以下幾點要求
1.接受完成態,錯誤態的回調方法。
2.只接受function,其余對象將被忽略
3.繼續返回promise對象,以實現鏈式調用

3.流程控制庫

next()

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/78879.html

相關文章

  • Node.js設計模式》Node.js基本模式

    摘要:回調函數是在異步操作完成后傳播其操作結果的函數,總是用來替代同步操作的返回指令。下面的圖片顯示了中事件循環過程當異步操作完成時,執行權就會交給這個異步操作開始的地方,即回調函數。 本系列文章為《Node.js Design Patterns Second Edition》的原文翻譯和讀書筆記,在GitHub連載更新,同步翻譯版鏈接。 歡迎關注我的專欄,之后的博文將在專欄同步: Enc...

    Seay 評論0 收藏0
  • Node_深入淺出Node

    摘要:簡介項目命名為就是一個服務器單純開發一個服務器的想法,變成構建網絡應用的一個基本框架發展為一個強制不共享任何資源的單線程,單進程系統。單線程弱點無法利用多核錯誤會引起整個應用退出,應用的健壯性大量計算占用導致無法繼續調用異步。 NodeJs簡介 Ryan Dahl項目命名為:web.js 就是一個Web服務器.單純開發一個Web服務器的想法,變成構建網絡應用的一個基本框架.Node發展...

    shinezejian 評論0 收藏0
  • Node_模塊

    摘要:當某個執行完畢時,將以時間的形式通知執行操作的線程,線程執行了這個事件的回調函數。為了處理異步,線程必須有事件循環,不斷的檢查是否有未處理的時間。這種處理機制,稱為事件環機制。方面使用第三方模塊。 簡介 V8引擎本身就是用于Chrome瀏覽器的JS解釋部分,但是Ryan Dahl,把V8搬到服務器,用于做服務器的軟件。Node是一個專注于實現高性能Web服務器優化的專家,在遇到V8而誕...

    zero 評論0 收藏0
  • node核心特性理解

    摘要:概述本文主要介紹了我對的一些核心特性的理解,包括架構特點機制核心模塊與簡單應用。在此期間,主線程繼續執行其他任務。延續了瀏覽器端單線程,只用一個主線程執行,不斷循環遍歷事件隊列,執行事件。 原文地址在我的博客,轉載請注明來源,謝謝! node是在前端領域經常看到的詞。node對于前端的重要性已經不言而喻,掌握node也是作為合格的前端工程師一項基本功了。知道node、知道后端的一些東西...

    huangjinnan 評論0 收藏0
  • Node.js設計模式》高級異步準則

    摘要:這使我們的知道什么時候原始模塊被初始化,在初始化后執行預初始化隊列的操作,之后清空預初始化隊列,再調用作為參數的回調函數,以下為具體步驟把賦值給,表示預初始化已經完成了。 本系列文章為《Node.js Design Patterns Second Edition》的原文翻譯和讀書筆記,在GitHub連載更新,同步翻譯版鏈接。 歡迎關注我的專欄,之后的博文將在專欄同步: Encount...

    wfc_666 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<