我有數以千計的小字串,我必須從網路作業者傳回主頁,每一個都是這樣的:
"this string needs to be sent"
我如何能夠將它包含到陣列緩沖區中以提高傳輸速度?我了解如何在陣列緩沖區中使用數字,但如何使用字串?我正在尋找這樣的東西:
var strings = ["str1","str2","str3",...]
for (var i = 0; i < strings.length; i ) {
arraybuffer[i] = //Whatever operation works to add strings[i]
}
uj5u.com熱心網友回復:
值得衡量和比較各種技術的性能。如果您的目標瀏覽器支持SharedArrayBuffer,worker 可以使用SharedArrayBuffer(下面未舉例說明),否則Transferrable 物件可以與postMessage(). TextEncoder從字串創建 ArrayBuffers。
單個字串可以在編碼時傳輸:
const encoder = new TextEncoder()
strings.forEach(s => {
const encoded = encoder.encode(s)
postMessage(encoded, [encoded.buffer])
})
可以批量傳輸字串陣列:
const encoded = strings.map(s => encoder.encode(s))
postMessage(encoded, encoded.map(bytes => bytes.buffer))
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/393397.html
標籤:javascript 细绳 数组缓冲区
