Skip to content

Commit

Permalink
2023/04/08 時点の英語版に基づき新規翻訳
Browse files Browse the repository at this point in the history
  • Loading branch information
mfuji09 committed Sep 26, 2023
1 parent 1cb62b2 commit 42ea235
Showing 1 changed file with 62 additions and 0 deletions.
62 changes: 62 additions & 0 deletions files/ja/web/api/readablestreambyobrequest/respond/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
---
title: "ReadableStreamBYOBRequest: respond() メソッド"
short-title: respond()
slug: Web/API/ReadableStreamBYOBRequest/respond
l10n:
sourceCommit: c58e8c1dd6ecbcb63894c7dd17fb9495b9511b4e
---

{{APIRef("Streams")}}

**`respond()`** は {{domxref("ReadableStreamBYOBRequest")}} インターフェイスのメソッドで、 {{domxref("ReadableStreamBYOBRequest.view")}} に指定したバイト数が書き込まれたことを、関連する[読み取り可能なバイトストリーム](/ja/docs/Web/API/Streams_API/Using_readable_byte_streams)に通知するために用いられます。

このメソッドが呼び出された後、 {{domxref("ReadableStreamBYOBRequest/view","view")}} は移譲され、変更できなくなります。

## 構文

```js-nolint
respond(bytesWritten)
```

### 引数

- `bytesWritten`
- : {{domxref("ReadableStreamBYOBRequest.view")}} に書き込まれたバイト数です。

### 返値

なし ({{jsxref("undefined")}})。

### 例外

- {{jsxref("TypeError")}}
- : リクエストが関連付けられた{{domxref("ReadableByteStreamController")}}を持っていないか、ビューバッファが切り離されていないか、移譲できません。

##

下記のコードは[読み取り可能なバイトストリームの使用](/ja/docs/Web/API/Streams_API/Using_readable_byte_streams)のライブ例から引用しています。

このメソッドは、コンシューマーからの待機中の読み取りリクエストを履行するために、データのゼロコピー移譲を行う一環として、基盤となるバイトソースによって呼び出されます。
基盤となるバイトソースは最初に {{domxref("ReadableStreamBYOBRequest.view")}} にデータを書き込み、次にこの `respond()` メソッドを呼び出して、バッファにコピーされたデータの量を示し、データをリーダーに移譲させます。

下記のコードはこの用途を示すもので、データをビューにコピーするために `readInto()` メソッドを使用しています。

```js
const v = controller.byobRequest.view;
bytesRead = socket.readInto(v.buffer, v.byteOffset, v.byteLength);
controller.byobRequest.respond(bytesRead);
```

処理後、 `byobRequest.view` は切り離され、リクエストは破棄されます。

## 仕様書

{{Specifications}}

## ブラウザーの互換性

{{Compat}}

## 関連情報

- [読み取り可能なバイトストリームの使用](/ja/docs/Web/API/Streams_API/Using_readable_byte_streams)

0 comments on commit 42ea235

Please sign in to comment.