USBDevice: clearHalt() 方法
注意:此功能在 Web Workers 中可用。
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 # dom-usbdevice-clearhalt |
浏览器兼容性
加载中…