- Taipei, Taiwan
-
Node.js | Stream(流)
簡介 Stream 是一個抽象接口, Node 中有很多對象實現了這個接口。 例如:對 http 伺服器發起請求的 request 對象就是一個 Stream ,還有 stdout (標準輸出)。 Node.js Stream 有四種流類型: Readable :可讀操作...
-
Node.js | Buffer(緩衝區)
簡介 JavaScript 語言自身只有字符串資料類型,沒有二進制資料類型。 但在處理像 TCP 流或文件流時,必須使用到二進制資料。因此在 Node.js 中,定義了一個 Buffer 類,該類用來建立一個專門存放二進制資料的緩存區。 在 Node.js 中, Buffer 類是...
-
Node.js | EventEmitter(事件發射器)
EventEmitter 簡介 Node.js 所有的異步 I/O 操作在完成時都會發送一個事件到事件隊列。 Node.js 裡面的許多對像都會分發事件:一個 net.Server 對象會在每次有新連接時觸發一個事件,一個 fs.readStream 對象會在文件被打開的時候觸發一個...
-
Node.js | 深入理解事件循環機制(Node.js篇)
什麼是事件循環 首先我們需要了解一下最基礎的一些東西,比如這個事件循環,事件循環是指 Node.js 執行非阻塞 I/O 操作,儘管 JavaScript 是單線程的,但由於大多數內核都是多線程的, Node.js 會盡可能將操作裝載到系統內核。因此它們可以處理在後台執行的多個操作。當其中一...
-
Node.js | 深入理解事件循環機制(瀏覽器篇)
問題: 單線程如何做到異步? 事件循環的過程是怎樣的? macrotask 和 microtask 是什麼,它們有何區別? 單線程和異步 提到 js ,就會想到單線程、異步,那麼單線程是如何做到異步的呢? 概念先行,先要了解下單線程和異步之間的關係。 js ...
-
Node.js | Event Loop(事件循環)
簡介 Node.js 是單進程單線程應用程序,但是因為 V8 引擎提供的異步執行回調接口,通過這些接口可以處理大量的並發,所以性能非常高。 Node.js 幾乎每一個 API 都是支持回調函數的。 Node.js 基本上所有的事件機制都是用設計模式中觀察者模式實現。 Node.js ...
-
Node.js | Callback(回調函數概念)
簡介 回調是一個異步等效的功能。在完成特定任務回調函數被調用。 Node 大量使用了回調。 Node 的所有的 API 都支持回調這樣的一種方式。 例如:我們可以一邊讀取文件,一邊執行其他指令,在文件讀取完成後,我們將文件內容作為回調函數的參數返回。這樣在執行程式時就沒有阻塞或等待文件...
-
Node.js | REPL終端
簡介 REPL 表示讀取評估和示範印出循環( Read Eval Print Loop ),它代表一個指令輸入和系統在交互模式的輸出響應窗口控製台或 Unix/ Linux 的 shell 計算機環境。 Node.js 附帶了一個 REPL 環境,它執行以下期望的任務。 Rea...
-
Node.js | NPM 使用介绍
簡介 npm (全稱 Node Package Manager ,即「 node 包管理器」)是 Node.js 預設的、以 JavaScript 編寫的軟體套件管理系統。 它是一個線上套件庫,可以下載各式各樣的 Javascript 套件來使用。 使用場景 允許使用者從 N...
-
Node.js | 第一個 Hello World
Hello World 好了,廢話不多說了,馬上開始我們第一個 Node.js 應用: Hello World 。 打開你最喜歡的編輯器,建立一個 helloworld.js 檔案。 我們要做就是向 STDOUT 輸出 Hello World 。 如下是實現該功能的程式碼: ...