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

node.js中使用q.js實現(xiàn)api的promise化

 更新時間:2014年09月17日 09:40:32   作者:鄉(xiāng)村運維  
這篇文章主要介紹了node.js中使用q.js實現(xiàn)api的promise化,promise一個標準,它描述了異步調(diào)用的返回結(jié)果,包括正確返回結(jié)果和錯誤處理,需要的朋友可以參考下

關(guān)于啥是promise以及promise解決的是啥問題,敬請體驗node的回調(diào)異步編碼大法,順帶移步http://wiki.commonjs.org/wiki/Promises/A 看看是咋定義的,在此不再贅述。

這里我們看看怎么用q.js 實現(xiàn)node api的promise。

一、萬事開始皆為install

復(fù)制代碼 代碼如下:

npm install q

二、標準node style api 的promise化方法

1、使用Q.nfcall

相對于Q.fcall ,Q.nfcall 就是node 的Q.fcall。

復(fù)制代碼 代碼如下:

var FS = require('fs'),
    Q   = require('q'),
    colors = require('colors'),
    file = 'example.txt';
var fsReadFile = Q.nfcall(FS.readFile,file,encoding);
fsReadFile.then(function(result){
console.log((“invoke in nfcall ” + file).red);
console.log(result.green);
},function(error){
console.log(“invoke in nfcall”.red);
console.log(error.toString().red);
}
);

2、使用Q.denodeify

復(fù)制代碼 代碼如下:

var fsReadFile_denodeify = Q.denodeify(FS.readFile);
 
fsReadFile_denodeify(file,encoding).then(function(result){
    console.log("invoke in denodeify".red);
    console.log(result.green)
},function(error){
    console.log("invoke in denodeify".red);
    console.log(error.toString().red);
}
);

3、使用Q.deferd

復(fù)制代碼 代碼如下:

var fsReadFile_deferd = function(file,encoding){
    var deferred = Q.defer();
    FS.readFile(file,encoding,function(error,result){
    if(error){
        deferred.reject(error.toString().red);
    }
    deferred.resolve(result);
});
 
return deferred.promise;
};
 
fsReadFile_deferd(file).then(function(result){
    console.log("invoke in deferd".red);
    console.log(result.toString().green);
},function(error){
    console.log("invoke in deferd".red);
    console.log(error.toString().red);
}
);

4、使用makeNodeResolver()

復(fù)制代碼 代碼如下:

var fsReadFile_makeNodeResolver = function(file,encoding){
    var deferred = Q.defer();
    FS.readFile(file,encoding,deferred.makeNodeResolver());
    return deferred.promise;
};
 
fsReadFile_makeNodeResolver(file,encoding).then(function(result){
    console.log("invoke in makeNodeResolver".red);
    console.log(result.green);
},function(error){
    console.log(error.toString().red);
});

相關(guān)文章

  • nodejs實現(xiàn)日志讀取、日志查找及日志刷新的方法分析

    nodejs實現(xiàn)日志讀取、日志查找及日志刷新的方法分析

    這篇文章主要介紹了nodejs實現(xiàn)日志讀取、日志查找及日志刷新的方法,涉及nodejs日期時間運算、轉(zhuǎn)換及日志讀寫等相關(guān)操作技巧,需要的朋友可以參考下
    2019-05-05
  • 利用node.js啟動本地服務(wù)器的操作指南(超詳細)

    利用node.js啟動本地服務(wù)器的操作指南(超詳細)

    這篇文章主要介紹了利用node.js啟動本地服務(wù)器的操作指南(超詳細),有很多小伙伴制作網(wǎng)站或者小程序時,需要通過服務(wù)器來把前端和后端連接起來,那么我們今天學(xué)習(xí)啟動node.js服務(wù)器,文中有詳細的代碼示例和圖文供大家參考,具有一定的參考價值,需要的朋友可以參考下
    2024-05-05
  • node.js中的path.normalize方法使用說明

    node.js中的path.normalize方法使用說明

    這篇文章主要介紹了node.js中的path.normalize方法使用說明,本文介紹了path.normalize的方法說明、語法、使用實例和實現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • Node快速切換版本、版本回退(降級)、版本更新(升級)

    Node快速切換版本、版本回退(降級)、版本更新(升級)

    這篇文章主要介紹了Node快速切換版本、版本回退(降級)、版本更新(升級),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • NodeJS實現(xiàn)跨域的方法(使用示例)

    NodeJS實現(xiàn)跨域的方法(使用示例)

    CORS是一種 W3C 標準,它使用額外的 HTTP 頭來告訴瀏覽器讓運行在一個 origin (domain) 上的Web應(yīng)用被準許訪問來自不同源服務(wù)器上的指定的資源,這篇文章主要介紹了NodeJS實現(xiàn)跨域的方法,需要的朋友可以參考下
    2024-05-05
  • node中npm ERR! network ‘proxy‘ 配置問題解決

    node中npm ERR! network ‘proxy‘ 配置問題解決

    在進行npm依賴管理時,可能會遇到因網(wǎng)絡(luò)配置不當導(dǎo)致的錯誤,如npm ERR! network proxy config is set properly,下面就來介紹一下,感興趣的可以了解一下
    2024-09-09
  • node thread.sleep實現(xiàn)示例

    node thread.sleep實現(xiàn)示例

    這篇文章主要介紹了node thread.sleep實現(xiàn)示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-06-06
  • koa2實現(xiàn)登錄注冊功能的示例代碼

    koa2實現(xiàn)登錄注冊功能的示例代碼

    這篇文章主要介紹了koa2實現(xiàn)登錄注冊功能的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12
  • node.js事件循環(huán)機制及與js區(qū)別詳解

    node.js事件循環(huán)機制及與js區(qū)別詳解

    這篇文章主要為大家介紹了node.js事件循環(huán)機制及與js區(qū)別詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-09-09
  • node.js遍歷目錄的方法示例

    node.js遍歷目錄的方法示例

    本篇文章主要介紹了node.js遍歷目錄的方法示例,主要介紹了同步遍歷和異步遍歷兩種方法,非常具有實用價值,需要的朋友可以參考下
    2018-08-08

最新評論

灯塔市| 梁平县| 鄄城县| 新沂市| 余庆县| 晋宁县| 元谋县| 元谋县| 三亚市| 古田县| 承德市| 齐河县| 长春市| 铁岭市| 海晏县| 甘谷县| 开江县| 霍邱县| 唐海县| 龙岩市| 玉龙| 确山县| 石家庄市| 怀来县| 罗源县| 简阳市| 天峻县| 和田县| 噶尔县| 兴海县| 眉山市| 志丹县| 云浮市| 韶关市| 呼图壁县| 宽城| 东乌珠穆沁旗| 常山县| 南皮县| 普兰店市| 东明县|