1. 程式人生 > >node學習--回調函數

node學習--回調函數

function 內容 異步 ava 執行 新建 請求 pan 輸出

node是一個平臺,既不是語言,也不是javascript的庫,只是node的運行環境選擇了javascript語言。node是異步、非阻塞、單線程、錯誤優先的。

新建一個text.txt 文件 內容為:123456

1.阻塞代碼示例

var fs = require("fs");

var data = fs.readFileSync("text.txt")   //同步讀取文件,這裏會產生的是二進制流

console.log(data);  // 輸出二進制流
console.log("執行完畢");

輸出結果,是

<Buffer 31 32 33 34 35 36>

執行完畢  

在文件沒讀取完之前是不會往後讀取文件的

2非阻塞

var fs = require("fs");
fs.readFile("text.txt‘,function(err,data){  // 異步執行
   if(err){
     return console.error(err);   //錯誤優先
   }
   console.log(data);
})

console.log("執行完畢");

輸出

執行完畢  

<Buffer 31 32 33 34 35 36> 文件加載會單獨啟動一個進程去處理,代碼繼續執行,非阻塞的優勢可以處理大量的並發請求。

node學習--回調函數