Node.js 回呼函數 1) 阻塞 ,同步 2) 非阻塞 ,非同步.

來源:互聯網
上載者:User

標籤:alt   blank   注意   輸出   color   require   ret   html   讀取   

 

1.阻塞. 同步.

 

 1) 讀取的檔案: input.txt

菜鳥教程官網地址:www.runoob.com

 

2) main.js

1 var fs = require("fs");2 3 //同步讀取, 阻塞代碼,按順序執行的4 var data = fs.readFileSync(‘input.txt‘);5 6 console.log(data);7 console.log(data.toString());8 console.log("程式執行結束!");

 

 執行:

 

注意:

 第一:綠色方框的是 輸出 data.     可見 不可以直接輸出讀取的檔案,  要使用  data.toString()

第二: 阻塞執行 ,是同步的, 按照順序的.

 

 

 

 如果指定 字元集.

1 var fs = require("fs");2 3 //同步讀取, 阻塞代碼,按順序執行的4 var data = fs.readFileSync(‘input.txt‘, ‘utf8‘);5 console.log(data);6 console.log(data.toString());7 console.log("程式執行結束!");

執行:

 

 

 

 

 

2. 非阻塞 ,非同步:

 

1) 要讀取的檔案 .   input.txt

菜鳥教程官網地址:www.runoob.com

 

2) main.js

 1 var fs = require("fs"); 2  3 //同步讀取, 阻塞代碼,按順序執行的 4 // var data = fs.readFileSync(‘input.txt‘); 5 // console.log(data); 6 // console.log(data.toString()); 7 // console.log("程式執行結束!"); 8  9 //非同步讀取, 阻塞, 不是按照順序.10 fs.readFile("input.txt", function(err, data){11     //err:12     console.log("err:", err);13     if (err) {14         return console.error(err);15     };16     console.log(data);17 18     console.log(data.toString());19 });20 21 console.log("程式執行結束!");

 

執行:

 

 

 -----------------

如果指定 字元集.

var fs = require("fs");//同步讀取, 阻塞代碼,按順序執行的// var data = fs.readFileSync(‘input.txt‘);// console.log(data);// console.log(data.toString());// console.log("程式執行結束!");//非同步讀取, 阻塞, 不是按照順序.// fs.readFile("input.txt", function(err, data){//     //err://     console.log("err:", err);//     if (err) {//         console.error(err);//     };//     console.log(data);//     console.log(data.toString());// });// console.log("程式執行結束!");fs.readFile("input.txt","utf8", function(err, data){    //err:    console.log("err:", err);    if (err) {        return console.error(err);    };    console.log(data);    console.log(data.toString());});console.log("程式執行結束!");

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

參考連結:

  Node.js 回呼函數

 

Node.js 回呼函數 1) 阻塞 ,同步 2) 非阻塞 ,非同步.

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.