当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Node.js stream.Readable.every(fn[, options])用法及代码示例


readable.every(fn[, options])

添加于:v17.5.0
Stability: 1 - 实验性

参数

此方法类似于 Array.prototype.every 并在流中的每个块上调用 fn 以检查所有等待的返回值是否为 fn 的真实值。一旦对块等待返回值的 fn 调用是虚假的,流就会被销毁,并且用 false 来履行承诺。如果对块的所有 fn 调用都返回一个真值,则使用 true 实现承诺。

import { Readable } from 'node:stream';
import { stat } from 'node:fs/promises';

// With a synchronous predicate.
await Readable.from([1, 2, 3, 4]).every((x) => x > 2); // false
await Readable.from([1, 2, 3, 4]).every((x) => x > 0); // true

// With an asynchronous predicate, making at most 2 file checks at a time.
const allBigFiles = await Readable.from([
  'file1',
  'file2',
  'file3',
]).every(async (fileName) => {
  const stats = await stat(fileName);
  return stat.size > 1024 * 1024;
}, { concurrency: 2 });
// `true` if all files in the list are bigger than 1MiB
console.log(allBigFiles);
console.log('done'); // Stream has finished

相关用法


注:本文由纯净天空筛选整理自nodejs.org大神的英文原创作品 stream.Readable.every(fn[, options])。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。