nodejs的promise機制是為了解決js執行過程中的非同步問題,或者說,有時候我們希望程式**是順序執行的。
先來看看下面這段**的執行結果:
var fs=require("fs");
var res = fs.readfile("c:/foo.txt",function
(error,data));
console.log("end");
按照通常的理解,應該先列印出foo.txt檔案中的內容,但實際的執行結果是先列印出了end字串。這是因為js**的執行是非同步的,但執行到讀取檔案這段**時需要一些事件,於是並沒有等待執行完畢就執行了下面的**,因此列印出了end字串。
如果我們想實現讀完檔案再執行列印end字串的操作,就需要使用到promise機制。看下面的**:
function
readfile_promise
(path) else
});});
}var promise=readfile_promise("c:/foo.txt");
promise.then(function
(data)).then(function
()).then(function
());
我們宣告了乙個promise函式,它有兩個引數resolve代表執行成功,reject代表執行失敗。呼叫的時候使用then方法,這樣我們就實現了先讀取檔案再執行後續的列印操作(通過乙個個then方法來拼接),進而達到了我們希望的序列呼叫。 上位機 下位機
上位機是指 人可以直接發出操控命令的計算機,一般是pc,螢幕上顯示各種訊號變化 液壓,水位,溫度等 下位機是直接控制裝置獲取裝置狀況的的計算機,一般是plc 微控制器之類的。上位機發出的命令首先給下位機,下位機再根據此命令解釋成相應時序訊號直接控制相應裝置。下位機不時讀取裝置狀態資料 一般模擬量 轉...
上位機與下位機
上位機一般是集中管理監控機,下位機是指現場直接控制器或控制機。上位機面向管理級使用者,下位機面向底層裝置控制。上位機 上位監視系統,一般為計算機系統 監控軟體 下位機 控制系統的現場執行系統,一般為plc等裝置。上位機是指人可以直接發出操控命令的計算機,一般是pc,螢幕上顯示各種訊號變化 液壓,水位...
大頭機和小頭機
big endian machine it thinks the first byte it reads is the biggest.little endian machine it thinks the first byte it reads is the littlest.舉個例子,從記憶體位...