Qui https://developer.mozilla.org/en/WebSockets/WebSockets_reference/MessageEvent indica che i dati degli attributi sono di tipo DOMString | Blob | ArrayBuffer. Come faccio a sapere quale tipo voglio? O come faccio a sapere che tipo ottengo?Come faccio a sapere il tipo di parametro webmessage onmessage?
17
A
risposta
35
I due tipi appropriati di frame che un server può inviare sono cornici di testo e frame binari (5.2). Lo ws.binaryType
consente di definire in quale formato si desidera ottenere i dati binari.
- Dati binari: a seconda
binaryType
essere impostato siaarraybuffer
oblob
- Testo dati: stringa
Per determinare il tipo, è possibile utilizzare:
e.data instanceof ArrayBuffer
e.data instanceof Blob
typeof e.data === "string"
4. Se tipo indica che i dati sono testo, quindi inizializzare evento 's
data
attributi per dati.Se tipo indica che i dati sono binari, e
binaryType
è impostato su "blob
", quindi inizializzare evento 'sdata
attributo in un oggetto che rappresentaBlob
dati come i suoi dati grezzi.Se tipo indica che i dati sono binari, e
binaryType
è impostato su "arraybuffer
", quindi inizializzare evento 'sdata
attributo per un nuovo sola letturaArrayBuffer
oggetto il cui contenuto èdata
.