error(reason)
ReadableStreamDefaultController
的 error()
方法会使与关联流的任何未来交互出错。
参数
名称 | 类型 | 描述 |
---|---|---|
e | 任意类型 | 将返回给与流的任何未来交互的错误。 |
异常
异常 | 描述 |
---|---|
TypeError | 当源对象不是 ReadableStreamDefaultController 时抛出。 |
示例
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`);
}
}