由上一篇文章 關於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
的方式捕獲異常。故爲了在異步操做出現錯誤以後,及時的讓外界知道,並終止回調函數的執行,故錯誤信息以回調當中第一個參數的方式傳遞。異步