ReadableStreamBYOBRequest: respond()-Methode
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Die respond()
-Methode des ReadableStreamBYOBRequest
-Interfaces wird verwendet, um dem zugehörigen lesbaren Bytestrom zu signalisieren, dass die angegebene Anzahl von Bytes in den ReadableStreamBYOBRequest.view
geschrieben wurden.
Nachdem diese Methode aufgerufen wurde, wird der view
übertragen und kann nicht mehr geändert werden.
Syntax
respond(bytesWritten)
Parameter
bytesWritten
-
Die Anzahl der Bytes, die in
ReadableStreamBYOBRequest.view
geschrieben wurden.
Rückgabewert
Keiner (undefined
).
Ausnahmen
TypeError
-
Die Anfrage hat keinen zugeordneten
ReadableByteStreamController
oder der View-Puffer ist nicht getrennt/kann nicht übertragen werden.
Beispiele
Der untenstehende Code ist aus den Live-Beispielen in Using readable byte stream entnommen.
Die Methode wird von einer zugrunde liegenden Bytequelle aufgerufen, als Teil des Prozesses der Ausführung eines Zero-Copy-Transfers von Daten, um eine ausstehende Leseanforderung eines Verbrauchers zu erfüllen. Die zugrunde liegende Quelle schreibt zuerst Daten in den ReadableStreamBYOBRequest.view
und ruft dann diese respond()
-Methode auf, um anzuzeigen, wie viel Daten in den Puffer kopiert wurden, und um das Übertragen der Daten an den Leser zu veranlassen.
Der folgende Code zeigt diesen Fall mit einer hypothetischen readInto()
-Methode, um Daten in den View zu kopieren:
const v = controller.byobRequest.view;
bytesRead = socket.readInto(v.buffer, v.byteOffset, v.byteLength);
controller.byobRequest.respond(bytesRead);
Nach dem Vorgang ist der byobRequest.view
getrennt und die Anfrage sollte verworfen werden.
Spezifikationen
Specification |
---|
Streams Standard # ref-for-rs-byob-request-respond① |
Browser-Kompatibilität
BCD tables only load in the browser