stack-base-iterator

Base iterator for values retrieved using a stack of async functions returning values

MIT 91 个版本
安装
npm install stack-base-iterator
yarn add stack-base-iterator
pnpm add stack-base-iterator
bun add stack-base-iterator
README

stack-base-iterator

Base iterator for values retrieved using a stack of async functions returning values.

// asyncIterator

var assert = require('assert');
var BaseIterator = require('stack-base-iterator'));

// extend BaseIterator (see tests, tar-iterator, zip-iterator for examples)

(async function() {
  var iterator = new YourIterator();

  try {
    for await (const value of iterator) {
      // do something
    }
  } catch (err) {
    }

  iterator.destroy();
  iterator = null;
})();

// Async / Await

var assert = require('assert');
var BaseIterator = require('stack-base-iterator'));

// extend BaseIterator (see tests, tar-iterator, zip-iterator for examples)

var iterator = new YourIterator();

// one by one
(async function() {
  let iterator = new YourIterator();

  try {
    let value = await iterator.next();
    while (value) {
      // do something
      value = await iterator.next();
    }
  } catch (err) {
    }

  iterator.destroy();
  iterator = null;
})();

// infinite concurrency
(async function() {
  let iterator = new YourIterator();

  try {
    await iterator.forEach(
      async function (value) {
        // do something
      },
      { concurrency: Infinity }
    );
  } catch (err) {
    }

  iterator.destroy();
  iterator = null;
})();

// Callbacks

var assert = require('assert');
var BaseIterator = require('stack-base-iterator'));

// extend BaseIterator (see tests, tar-iterator, zip-iterator for examples)

var iterator = new YourIterator();

// one by one
var links = [];
iterator.forEach(
  function (value, callback) {
    // do something
    callback();
  },
  { callbacks: true, concurrency: 1 },
  function (err) {
  
    iterator.destroy();
    iterator = null;
  }
);

版本列表
3.0.6 2026-05-26
3.0.5 2026-05-26
3.0.4 2025-12-27
3.0.3 2025-12-23
3.0.2 2025-12-20
3.0.1 2025-12-18
3.0.0 2025-12-18
2.2.2 2025-12-16
2.2.1 2025-12-16
2.2.0 2025-12-15
2.1.15 2025-12-12
2.1.14 2025-12-12
2.1.13 2025-12-06
2.1.12 2025-12-05
2.1.11 2025-12-04
2.1.10 2025-12-04
2.1.9 2025-12-04
2.1.8 2025-12-03
2.1.7 2025-11-06
2.1.6 2025-10-21
2.1.5 2025-10-21
2.1.4 2025-07-08
2.1.3 2025-06-30
2.1.2 2025-06-30
2.1.1 2025-06-29
2.1.0 2025-06-29
2.0.5 2025-06-29
2.0.4 2025-06-29
2.0.3 2025-06-21
2.0.2 2025-06-20
2.0.1 2025-06-18
2.0.0 2025-06-17
1.2.27 2025-06-16
1.2.26 2025-06-15
1.2.25 2025-06-15
1.2.24 2025-06-15
1.2.23 2025-06-15
1.2.22 2025-06-15
1.2.21 2025-06-14
1.2.20 2025-06-14
1.2.19 2025-06-14
1.2.18 2025-06-14
1.2.17 2025-06-14
1.2.16 2025-06-14
1.2.15 2025-06-14
1.2.14 2025-06-14
1.2.13 2025-06-14
1.2.12 2025-06-14
1.2.11 2025-05-24
1.2.10 2025-05-20
1.2.9 2025-05-19
1.2.8 2025-05-19
1.2.7 2025-05-19
1.2.6 2025-05-19
1.2.5 2025-05-19
1.2.4 2025-05-19
1.2.3 2025-05-19
1.2.2 2025-05-19
1.2.1 2025-05-19
1.2.0 2025-05-19
1.1.21 2025-05-18
1.1.20 2025-01-23
1.1.19 2025-01-23
1.1.18 2025-01-23
1.1.17 2025-01-23
1.1.16 2025-01-23
1.1.15 2025-01-15
1.1.14 2025-01-15
1.1.13 2025-01-14
1.1.12 2025-01-12
1.1.11 2025-01-04
1.1.10 2025-01-04
1.1.9 2025-01-04
1.1.8 2025-01-04
1.1.6 2025-01-04
1.1.5 2024-12-28
1.1.4 2024-12-25
1.1.3 2024-12-25
1.1.2 2024-11-21
1.1.1 2024-02-18
1.1.0 2024-02-18
1.0.1 2024-02-18
1.0.0 2024-02-17
0.1.7 2022-06-29
0.1.6 2021-07-26
0.1.5 2020-06-21
0.1.4 2020-06-21
0.1.3 2020-06-20
0.1.2 2020-06-20
0.1.1 2020-06-20
0.1.0 2020-06-20