Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在Message';s参数?_Javascript_Websocket_Blob_Arraybuffer - Fatal编程技术网

Javascript 如何在Message';s参数?

Javascript 如何在Message';s参数?,javascript,websocket,blob,arraybuffer,Javascript,Websocket,Blob,Arraybuffer,在这里,它声明属性数据的类型为DOMString | Blob | ArrayBuffer。我如何告诉它我想要哪种类型?或者我如何知道我得到的是哪种类型?服务器可以发送的两种类型的帧是文本帧和二进制帧()。允许您定义获取二进制数据的格式 二进制数据:取决于binaryType是否设置为arraybuffer或blob 文本数据:字符串 要确定类型,可以使用: e.阵列缓冲区的数据实例 e.Blob的数据实例 e.data的类型==“字符串” : 四,。如果type指示数据为文本,则将事件

在这里,它声明属性数据的类型为DOMString | Blob | ArrayBuffer。我如何告诉它我想要哪种类型?或者我如何知道我得到的是哪种类型?

服务器可以发送的两种类型的帧是文本帧和二进制帧()。允许您定义获取二进制数据的格式

  • 二进制数据:取决于
    binaryType
    是否设置为
    arraybuffer
    blob
  • 文本数据:字符串
要确定类型,可以使用:

  • e.阵列缓冲区的数据实例
  • e.Blob的数据实例
  • e.data的类型==“字符串”
:

四,。如果type指示数据为文本,则将事件的
data
属性初始化为data

如果type指示数据是二进制的,并且
binaryType
设置为“
blob
”,则将事件的
data
属性初始化为新的
blob
对象,该对象将数据表示为其原始数据

如果type指示数据是二进制的,并且
binaryType
设置为“
arraybuffer
”,则将事件的
data
属性初始化为一个新的只读
arraybuffer
对象,该对象的内容为
data

“我如何告诉它我想要哪种类型?”

websocket框架中的数据类型由发送方确定(请参阅),因此接收方无法设置。如果发送文本数据,则
e.data
的类型为
string
。如果发送二进制数据,则
e.data
将是
ArrayBuffer
Blob
的实例,具体取决于接收方设置的
ws.binaryType
属性的值

“或者我怎么知道我是哪种类型的?”

pimvdb已经回答了这个问题