USBDevice: clearHalt()-Methode
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig, bevor Sie diese produktiv verwenden.
Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.
Hinweis: Dieses Feature ist verfügbar in Web Workers.
Die clearHalt()
-Methode des USBDevice
-Interfaces gibt ein promise
zurück, das aufgelöst wird, wenn eine Halt-Bedingung bereinigt ist. Eine Halt-Bedingung tritt auf, wenn ein Datenübertragungsstatus zu oder von dem Gerät 'stall'
ist, was erfordert, dass die Webseite (das Host-System in USB-Terminologie) diese Bedingung bereinigt. Weitere Details sind im Leitfaden zu finden.
Syntax
clearHalt(direction, endpointNumber)
Parameter
direction
-
Gibt an, ob der Eingang oder Ausgang des Geräts bereinigt werden soll. Gültige Werte sind
'in'
oder'out'
. endpointNumber
-
Gibt die Nummer des zu bereinigenden Endpunkts an. Das Versprechen wird abgelehnt, wenn ein ungültiger Endpunkt angegeben wird.
Rückgabewert
Ein promise
.
Beispiele
Das folgende Beispiel zeigt, wie eine 'stall'
-Bedingung im Ergebnis einer Datenübertragung getestet und bereinigt wird.
Hinweis: Welche Daten an ein USB-Gerät übergeben 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
Specification |
---|
WebUSB API # ref-for-dom-usbdevice-clearhalt① |
Browser-Kompatibilität
BCD tables only load in the browser