USBDevice: clearHalt() 方法
clearHalt()
是 USBDevice
接口的方法,它返回一个 promise
,当清除停止条件时,该 promise 会被解决。停止条件是指设备数据传输的状态为 'stall'
,这需要网页(在 USB 术语中为主机系统)来清除该条件。有关详细信息,请参阅。
语法
js
clearHalt(direction, endpointNumber)
参数
direction
-
指示应清除设备的输入还是输出。有效值为
'in'
或'out'
。 endpointNumber
-
指示要清除的端点的编号。如果提供了无效的端点,则 promise 将被拒绝。
返回值
一个 promise
。
示例
以下示例演示了如何在数据传输结果中测试和清除 'stall'
条件。
注意: 可以传递给 USB 设备的数据以及传递方式对于每个设备都是特定且唯一的。
js
while (true) {
let result = await data.transferIn(1, 6);
if (result.data && result.data.byteLength === 6) {
console.log(`Channel 1: ${result.data.getUint16(0)}`);
console.log(`Channel 2: ${result.data.getUint16(2)}`);
console.log(`Channel 5: ${result.data.getUint16(4)}`);
}
if (result.status === "stall") {
console.warn("Endpoint stalled. Clearing.");
await device.clearHalt("in", 1);
}
}
规范
规范 |
---|
WebUSB API # ref-for-dom-usbdevice-clearhalt① |
浏览器兼容性
BCD 表仅在启用 JavaScript 的浏览器中加载。