Greasy Fork is available in English.

concurrent_promise

Parallel processing module for JavaScript that can specify the number of concurrent executions.

As of 24. 03. 2020. See the latest version.

This script should not be not be installed directly. It is a library for other scripts to include with the meta directive // @require https://update.greatest.deepsurf.us/scripts/398566/783828/concurrent_promise.js

Autor
風柳@furyutei
Verzija
0.0.1.20200324031101
Napravljeno
24. 03. 2020
Ažurirano
24. 03. 2020
Size
4,19 КБ
Licenca
Nije dostupno

js-concurrent_promise

  • License: The MIT license
  • Copyright (c) 2020 furyu @furyutei
  • Target: Browser(Google Chrome, Firefox), Node.js

Parallel processing module for JavaScript that can specify the number of concurrent executions.

Module

Usage

let result_info = await concurrent_promise.execute(
        promise_function_array, // Array of functions that return Promise (Note: it's not Promise itself)
        max_concurrent_worker // Max concurrent Promise number (default: 10)
    );
//  result_info = {
//      promise_results : <Array of results for each Promise>,
//      success_list : <Array of successful Promise results>,
//      failure_list : <Array of failed Promise results>,
//  }

Trial

Browser

Open the test page in your browser and follow the instructions to run it.

Node.js

Install

$ cd js-concurrent_promise
$ yarn install

Examples

$ node -i
// [load modules]
const { concurrentPromise, concurrent_promise, test } = require( './test/node_test.js' );

// [run]
//   test.run( target_module, promise_number, max_concurrent_worker );

// target_module = concurrentPromise: simple version (run Promise.all with each max_concurrent_worker)
test.run( concurrentPromise, 100, 10 );

// target_module = concurrent_promise: efficiency improvement version
test.run( concurrent_promise, 100, 10 );

// [cancel]
test.cancel();