菜单
开源

error(reason)

ReadableStreamDefaultControllererror() 方法会使与关联流的任何未来交互出错。

参数

名称类型描述
e任意类型将返回给与流的任何未来交互的错误。

异常

异常描述
TypeError当源对象不是 ReadableStreamDefaultController 时抛出。

示例

JavaScript
import { ReadableStream } from 'k6/experimental/streams';
import { setTimeout } from 'k6/timers';

export default async function () {
  let currentNumber = 0;

  const stream = new ReadableStream({
    start(controller) {
      const fn = () => {
        if (currentNumber % 8 == 0) {
          // Error the stream when the number is divisible by 8
          controller.error('erroring the stream because we received a multiple of 8');
          return;
        }

        if (currentNumber < 10) {
          controller.enqueue(++currentNumber);
          setTimeout(fn, 1000);
          return;
        }

        controller.close();
      };
      setTimeout(fn, 1000);
    },
  });

  const reader = stream.getReader();

  while (true) {
    const { done, value } = await reader.read();
    if (done) break;
    console.log(`received number ${value} from stream`);
  }
}