Node.js基礎學習 node
Node.js異步編程的直接體現就是回調,異步編程依託回調來實現,但不是異步。回調函數在完成任務後就會被調用,Node有不少的回調函數,其全部的API都支持回調。 編程
Eg:能夠一邊讀取文件,一邊執行其它的命令,在文件讀取完成後,咱們將文件內容做爲回調函數的參數返回,這樣在執行代碼時就沒有阻塞或等待文件I/O操做。大大的提升了node.js的性能,處理大量的併發請求。(簡單的理解就是同時作兩件或者多件事情,減小其等待的時間) 併發
阻塞代碼: 異步
1:建立文本和js代碼。以下: 異步編程
執行結果: 函數
能夠發現阻塞代碼它是按照順序執行的,等待文件讀取完畢才執行打印操做。 性能
建立文本和js,以下: 學習
這個是在讀取文件的同時打印輸出的。咱們不須要等待文件讀取完,這樣就能夠在讀取文件時同時執行接下來的代碼,大大提升了程序的性能。能夠這麼說,阻塞式按順序執行的,非阻塞是不須要按順序的,因此處理回調函數的參數,就能夠寫在回調函數內。 ui
代碼解析:進行I/O操做,給readFile綁定了一個回調函數function(error,data){},並在讀取完ahui.txt文件後執行回調函數,期間,後面的代碼繼續執行,不受I/O阻塞。spa
理解Node.js的異步非阻塞I/O模型:https://cnodejs.org/topic/4f50dd9798766f5a610b808a