第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Node.js 異步異常如何處理?

Node.js 異步異常如何處理?

素胚勾勒不出你 2018-06-27 18:18:23
在看《深入淺出Node.js》的時候,書上第四章,有句話:“Node在處理異常上形成了一種約定,將異常作為回調(diào)函數(shù)的第一個實參傳回,如果為空值,則表明異步調(diào)用沒有異常拋出?!边@句話下也有個簡短的例子,本人剛學(xué)Node,感覺這句話好繞口。有沒有更詳細(xì)的例子?
查看完整描述

5 回答

?
楊魅力

TA貢獻(xiàn)1811條經(jīng)驗 獲得超6個贊

這句話指的是如下這種情況:

fs.readFile('/etc/passwd', function (err, data) {  
    if (err) {    
        // 判斷是否發(fā)生錯誤,并做相應(yīng)的處理
  } 
  else {    
      console.log(data); // 處理結(jié)果
  }
});

基本上node的異步api都有這樣的約定,即最后一個參數(shù)為一個回調(diào)函數(shù),這個回調(diào)函數(shù)的第一個參數(shù)表示異步操作的過程中是否發(fā)生異常,第二個參數(shù)表示異步操作的結(jié)果。


查看完整回答
反對 回復(fù) 2018-07-08
?
LEATH

TA貢獻(xiàn)1936條經(jīng)驗 獲得超7個贊

補充
============
如果需要拋出異常:

function doSomething(a, callback) {  
    if(! a) {    
        return callback(new Error('params error.')); //回調(diào)傳入 Error
    }  
  var b = a++;  return callback(null, b);// 無異常}


查看完整回答
反對 回復(fù) 2018-07-08
?
瀟瀟雨雨

TA貢獻(xiàn)1833條經(jīng)驗 獲得超4個贊

一大堆的function (err, xx, xx) {}來襲

查看完整回答
反對 回復(fù) 2018-07-08
?
翻過高山走不出你

TA貢獻(xiàn)1875條經(jīng)驗 獲得超3個贊

這是有err的情況,就是回調(diào)函數(shù)的第一個參數(shù)

client.on('line',function(err,data){    
    if(err){        
            console.log(err);
    }else
        console.log(data)
});

這是回調(diào)沒有拋出異常的情況

client.on('data',funciton(data){    
    console.log(data);
})

這是沒有回調(diào)參數(shù)的情況

client.on('end',function(){ console.log('end')})


查看完整回答
反對 回復(fù) 2018-07-08
?
慕碼人8056858

TA貢獻(xiàn)1803條經(jīng)驗 獲得超6個贊

callback第一個參數(shù)為error,不是規(guī)定的規(guī)定

查看完整回答
反對 回復(fù) 2018-07-08
  • 5 回答
  • 0 關(guān)注
  • 585 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號