node.js當中對於回調函數的規定

由上一篇文章 關於node.js的一些簡單理解 當中介紹了node.js的核心特性爲事件驅動和非阻塞,故node當中會出現大量的異步操做,因此會出現大量的回調函數。node當中統一規定,若是一個函數須要定義回調函數,則遵循如下幾點:node

一、回調函數必定要做爲該函數參數當中的最後一個參數出現
function foo(name,age,callback){ }

這樣處理是爲了,當該函數不須要回調函數時,最後一個參數能夠不傳,這樣也不會影響該函數當中其餘參數的傳遞。segmentfault

二、回調函數當中的第一個參數默認接收錯誤信息,從第二個參數開始纔是真正的回調數據,這樣便於外界獲取調用時出現的錯誤信息。(強調錯誤優先的回調函數)
const fs = require('fs');
fs.readFile(fsPath,(err,data)=>{
    if(err){
        throw err;
    }else{
        
    }
});

由於對於異步操做來講,若是其內部出現錯誤,是沒法經過try catch的方式捕獲異常。故爲了在異步操做出現錯誤以後,及時的讓外界知道,並終止回調函數的執行,故錯誤信息以回調當中第一個參數的方式傳遞。異步

相關文章
相關標籤/搜索