USBDevice: clearHalt() Methode
Eingeschränkt verfügbar
Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.
Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Die clearHalt() Methode des USBDevice
Interfaces gibt ein Promise zurück, das aufgelöst wird, wenn eine Blockierung beseitigt wird. Eine Blockierung liegt vor, wenn ein Datentransfer zu oder von dem Gerät den Status 'stall' hat, was erfordert, dass die Webseite (das Host-System, in USB-Terminologie) diesen Zustand beseitigt. Weitere Details finden Sie in der Beschreibung.
Syntax
clearHalt(direction, endpointNumber)
Parameter
direction-
Gibt an, ob die Eingabe oder Ausgabe des Geräts gelöscht werden soll. Gültige Werte sind
'in'oder'out'. endpointNumber-
Gibt die Nummer des Endpunkts an, der gelöscht werden soll. Das Versprechen wird abgewiesen, wenn ein ungültiger Endpunkt angegeben wird.
Rückgabewert
Ein Promise.
Beispiele
Das folgende Beispiel zeigt, wie man eine 'stall' Bedingung im Ergebnis eines Datentransfers testet und beseitigt.
Hinweis: Welche Daten an ein USB-Gerät übertragen werden können und wie dies geschieht, ist spezifisch und einzigartig für jedes Gerät.
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);
}
}
Spezifikationen
| Spezifikation |
|---|
| WebUSB API> # dom-usbdevice-clearhalt> |