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

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

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

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

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

一、萬事開始皆為install

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

npm install q

二、標(biāo)準(zhǔn)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實(shí)現(xiàn)日志讀取、日志查找及日志刷新的方法分析

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新評論

金川县| 芷江| 弥勒县| 务川| 建瓯市| 东乡族自治县| 莱州市| 嵊州市| 香港 | 石渠县| 嵩明县| 荣昌县| 襄汾县| 巴林左旗| 昆山市| 辰溪县| 鸡西市| 都匀市| 南通市| 塔城市| 温州市| 察哈| 承德县| 民权县| 鄱阳县| 上思县| 清远市| 砀山县| 北辰区| 佛山市| 永宁县| 理塘县| 惠州市| 信阳市| 资溪县| 溧阳市| 孟津县| 沁水县| 北流市| 淮南市| 海晏县|