node 學習(一)

什麼是 Node.jsnode

  Node.js就是運行在服務端的JavaScript。編程

  Node.js是一個基於Chrome JavaScript運行時創建的一個平臺。設計模式

  Node.js是一個事件驅動 I/O 服務端的JavaScript環境。基於Google v8引擎api

接下來咱們建立第一個應用  server.js併發

var http = require('http');

http.createServer(function (request, response) {

    // 發送 HTTP 頭部
    // HTTP 狀態值: 200 : OK
    // 內容類型: text/plain
    response.writeHead(200, {'Content-Type': 'text/plain'});

    // 發送響應數據 "Hello World"
    response.end('Hello World\n');
}).listen(3000);

// 終端打印以下信息
console.log('Server running at http://127.0.0.1:3000/');

運行 node server.js  能夠啓動上服務異步

Node.js REPL (交互式解析器 --> Read-Eval-Print-Loop)異步編程

  命令:node 進入   執行    打印   循環 ;   ctrl+c 兩下退出函數

Node.js 的回調函數oop

  Node.js的異步編程的直接體現就是回調性能

d2.txt

  文件中 寫入 Rain_tdk

fs.js

var fs = require('fs')

//阻塞代碼執行的寫法
var ds = fs.readFileSync('d2.txt')
console.log(ds.toString())
console.log('阻塞代碼執行')

//非阻塞代碼執行的寫法
fs.readFile('d2.txt',function (err,data) {
    if(err) console.log(err);
    console.log(data.toString())
})
console.log('不阻塞代碼執行')

執行結果:       非阻塞代碼的寫法能極大的提升Node.js 的性能(提醒:Node.js 中全部的api 都支持回調函數)。能夠處理大量的併發請求。

 

Node.js事件回調

  Node.js是單進程單線程應用程序,可是能夠經過事件和回調支持併發,因此性能很高。

  Node.js的每個api都是一部操做的,並做爲一個獨立的線程運行,使用異步函數調用,併發處理。

  Node.js基本上全部的事件機制都是用設計模式中的觀察者模式實現的。

  Node.js 單線程相似進入一個while(true)的事件循環,直到沒有事件觀察者退出,每一個異步事件都生成一個事件觀察者,若是有事件發生就調用該回調函數.

相關文章
相關標籤/搜索