最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

node模塊機制與異步處理詳解

 更新時間:2016年03月13日 13:30:12   投稿:hebedich  
這篇文章主要介紹了node模塊機制與異步處理詳解的相關(guān)資料,需要的朋友可以參考下

1.模塊機制

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

模塊定義并導(dǎo)出

例如有如下一個名為circle.js的文件

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

模塊載入

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

模塊加載策略

node模塊主要可以分為兩類:

原生模塊和自定義模塊,所謂原生模塊就是node自己定義的模塊,例如HTTP,fs模塊,此類模塊加載速度最快。
還有一類是自定義模塊,包括包模塊,和我們自己定義的文件。無論是原生模塊還是自定義模塊在第一次加載后都會被node緩存,所以第二次請求時是不會有開銷的。

原生模塊加載:

require()方法在解析文件名之后,最優(yōu)先在模塊緩存中查找,然后在node的原生模塊中查找
從文件加載
module.path 對于每一個被加載的文件模塊,在創(chuàng)建這個模塊對象的時候都會有一個paths屬性。其路徑指向引入模塊的路徑。
在請求絕對路徑模塊時,不會去遍歷node_module加載速度最快。

異步編程

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

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

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

異步編程解決方案

1.事件發(fā)布/訂閱模式

事件監(jiān)聽器模式是廣泛應(yīng)用于異步編程,是回調(diào)函數(shù)的時間化,又稱發(fā)布/訂閱模式。

//訂閱

emitter.on("event1", function(message){
  console.log(message)
})
//發(fā)布

emitter.emit("event1", "I am message")

2.Promise模式

promise對象具有三種狀態(tài),未完成態(tài),完成態(tài),失敗態(tài)。
promise對象要具有then方法,對于then 方法有以下幾點要求

1.接受完成態(tài),錯誤態(tài)的回調(diào)方法。
2.只接受function,其余對象將被忽略
3.繼續(xù)返回promise對象,以實現(xiàn)鏈?zhǔn)秸{(diào)用

相關(guān)文章

  • node.js通過axios實現(xiàn)網(wǎng)絡(luò)請求的方法

    node.js通過axios實現(xiàn)網(wǎng)絡(luò)請求的方法

    下面小編就為大家分享一篇node.js通過axios實現(xiàn)網(wǎng)絡(luò)請求的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • 在Linux系統(tǒng)中搭建Node.js開發(fā)環(huán)境的簡單步驟講解

    在Linux系統(tǒng)中搭建Node.js開發(fā)環(huán)境的簡單步驟講解

    這篇文章主要介紹了在Linux系統(tǒng)中搭建Node.js開發(fā)環(huán)境的步驟,Node使得JavaScript程序可以在本地操作系統(tǒng)環(huán)境中解釋運行,需要的朋友可以參考下
    2016-01-01
  • node.js中的buffer.write方法使用說明

    node.js中的buffer.write方法使用說明

    這篇文章主要介紹了node.js中的buffer.write方法使用說明,本文介紹了buffer.write的方法說明、語法、接收參數(shù)、使用實例和實現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • express的中間件bodyParser詳解

    express的中間件bodyParser詳解

    這篇文章主要介紹了node.js中express的中間件bodyParser的使用方法,需要的朋友可以參考下
    2014-12-12
  • mongoose更新對象的兩種方法示例比較

    mongoose更新對象的兩種方法示例比較

    最近在使用mongoose的時候發(fā)現(xiàn)了一個之前一直沒注意的知識點,下面這篇文章主要給大家介紹了關(guān)于mongoose更新對象的兩種方法,通過示例代碼將兩種方法進行詳細的對比,以給大家更好的參考學(xué)習(xí),需要的朋友可以參考下。
    2017-12-12
  • 使用Node操作文件夾的常用API

    使用Node操作文件夾的常用API

    這篇文章我們將學(xué)習(xí)Node對文件夾的操作,當(dāng)我們學(xué)習(xí)完文件夾的操作后結(jié)合文件的操作我們就可以真正的通過Node在日常的工作生活中解決許多和文件相關(guān)的問題,這篇文章我們將首先講解文件夾操作的幾個API,然后完成一下最常見的文件夾遞歸的操作,需要的朋友可以參考下
    2024-08-08
  • Node.js基礎(chǔ)入門之緩存區(qū)與文件操作詳解

    Node.js基礎(chǔ)入門之緩存區(qū)與文件操作詳解

    Node.js是一個基于Chrome?V8引擎的JavaScript運行時。類似于Java中的JRE,.Net中的CLR。本文將詳細為大家介紹Node.js中的緩存區(qū)與文件操作,感興趣的可以了解一下
    2022-03-03
  • Node.js深入分析Koa源碼

    Node.js深入分析Koa源碼

    本文主要從源碼的角度來講述 Koa,尤其是其中間件系統(tǒng)是如何實現(xiàn)的。跟 Express 相比,Koa 的源碼異常簡潔,Express 因為把路由相關(guān)的代碼嵌入到了主要邏輯中,因此讀 Express 的源碼可能長時間不得要領(lǐng),而直接讀 Koa 的源碼幾乎沒有什么障礙
    2022-08-08
  • node-sass是干什么用的

    node-sass是干什么用的

    node-sass是一個項目依賴,在一個項目中在使用sass語法的時候,必須通過sass-loader來解析sass,從而使sass語法變成瀏覽器能夠識別的CSS語法,下面介紹node-sass是什么,一起看看吧
    2023-08-08
  • express中間件加載機制示例詳解

    express中間件加載機制示例詳解

    中間件是一種方法,可以接收客戶端發(fā)來的請求,可以對請求做出響應(yīng),也可以將請求繼續(xù)交給下一個中間件繼續(xù)處理,下面這篇文章主要給大家介紹了關(guān)于express中間件加載機制的相關(guān)資料,需要的朋友可以參考下
    2022-08-08

最新評論

葵青区| 娄烦县| 晋江市| 西充县| 渝北区| 陇西县| 郁南县| 固始县| 龙陵县| 青川县| 尤溪县| 宜兰县| 观塘区| 长沙市| 汨罗市| 新余市| 肇源县| 奇台县| 仁布县| 苍溪县| 天气| 灵山县| 双辽市| 博客| 开封市| 满城县| 云浮市| 巧家县| 民权县| 绥江县| 西青区| 阳曲县| 开原市| 灌南县| 平原县| 攀枝花市| 丹棱县| 麦盖提县| 鄂托克前旗| 中方县| 繁峙县|