Object 內建對象

物件Message

基礎訊息對象

Message 物件相容於mq各個模組,可用於建構自訂訊息處理系統,建立方法:

1 2
var mq = require("mq"); var m = new mq.Message();

繼承關係

%0 object object toString() toJSON() Message Message new Message() TEXT BINARY value params type data body length stream lastError read() readAll() write() json() pack() end() isEnded() clear() sendTo() readFrom() object->Message HttpMessage HttpMessage Message->HttpMessage WebSocketMessage WebSocketMessage Message->WebSocketMessage HttpRequest HttpRequest HttpMessage->HttpRequest HttpResponse HttpResponse HttpMessage->HttpResponse

建構函數

Message

訊息物件建構函數

1
new Message();

常量

TEXT

指定訊息類型1,代表一個文字類型

1
const Message.TEXT = 1;

BINARY

指定訊息類型2,代表一個二進位類型

1
const Message.BINARY = 2;

成員屬性

value

String, 訊息的基本內容

1
String Message.value;

params

NArray, 訊息的基本參數

1
readonly NArray Message.params;

type

Integer, 訊息類型

1
Integer Message.type;

data

Value, 查詢訊息的數據,此屬性會根據content-type 傳回不同數據,當text 時,傳回文本,為json時返回json,其它時候返回二進制

1
readonly Value Message.data;

body

SeekableStream, 包含訊息資料部分的流對象

1
SeekableStream Message.body;

length

Long, 訊息資料部分的長度

1
readonly Long Message.length;

stream

Stream, 查詢訊息readFrom 時的流對象

1
readonly Stream Message.stream;

lastError

String, 查詢與設定訊息處理的最後錯誤

1
String Message.lastError;

成員函數

read

從流內讀取指定大小的數據,此方法為body 對應方法的別名

1
Buffer Message.read(Integer bytes = -1) async;

呼叫參數:

  • bytes: Integer, 指定要讀取的資料量,預設為讀取隨機大小的資料區塊,讀取的資料尺寸取決於設備

回傳結果:

  • Buffer, 傳回從流內讀取的數據,若無數據可讀,或連線中斷,則傳回null

readAll

從流內讀取剩餘的全部數據,此方法為body 對應方法的別名

1
Buffer Message.readAll() async;

回傳結果:

  • Buffer, 傳回從流內讀取的數據,若無數據可讀,或連線中斷,則傳回null

write

寫入給定的數據,此方法為body 對應方法的別名

1
Message.write(Buffer data) async;

呼叫參數:

  • data:Buffer, 給定要寫入的數據

json

以JSON 編碼寫入給定的數據

1
Value Message.json(Value data);

呼叫參數:

  • data: Value, 給定要寫入的數據

回傳結果:

  • Value, 此方法不會傳回數據

以JSON 編碼解析訊息中的數據

1
Value Message.json();

回傳結果:

  • Value, 回傳解析的結果

pack

msgpack編碼寫入給定的數據

1
Value Message.pack(Value data);

呼叫參數:

  • data: Value, 給定要寫入的數據

回傳結果:

  • Value, 此方法不會傳回數據

msgpack編碼解析訊息中的數據

1
Value Message.pack();

回傳結果:

  • Value, 回傳解析的結果

end

設定當前訊息處理結束,Chain處理器不再繼續後面的事務

1
Message.end();

isEnded

查詢目前訊息是否結束

1
Boolean Message.isEnded();

回傳結果:

  • Boolean, 結束則回傳true

clear

清除訊息的內容

1
Message.clear();

sendTo

發送格式化訊息到給定的流對象

1
Message.sendTo(Stream stm) async;

呼叫參數:

  • stm:Stream, 指定接收格式化訊息的流對象

readFrom

從給定的快取流對象讀取格式化訊息,並解析填充對象

1
Message.readFrom(Stream stm) async;

呼叫參數:

  • stm:Stream, 指定讀取格式化訊息的流對象

toString

傳回物件的字串表示,一般回傳"[Native Object]",物件可以根據自己的特性重新實現

1
String Message.toString();

回傳結果:

  • String, 傳回物件的字串表示

toJSON

傳回物件的JSON 格式表示,一般傳回物件定義的可讀屬性集合

1
Value Message.toJSON(String key = "");

呼叫參數:

  • key: String, 未使用

回傳結果:

  • Value, 傳回包含可JSON 序列化的值