/ForPromise-JS

Execute all promises inside a "for" script.

Primary LanguageJavaScriptMIT LicenseMIT

Discord server NPM version NPM downloads Patreon Ko-Fi

npm installnfo

ForPromise-JS

Execute all promises inside a "for" script. This module will help you to execute all the Promise methods instantly inside a single promise.

Instead of waiting for "For" to execute several promises and callbacks at a time, with this module they will all be executed instantly at one Promise.

Simple Example

Execute a "For Script" with "Promise" in a number variable.

// For Promise
import forPromise from 'for-promise';

// The Data
const dataCount = 10;

// Start For Script
await forPromise({ data: dataCount }, (index, fn) => {

    // Show Index
    console.log(`The index value is '${index}'.`);

    // The "fn()" will say that the execution of this script has ended.
    fn();

});

Execute a "For Script" with "Promise" in a object or array.

// For Promise
import forPromise from 'for-promise';

// Module Example
import fs from 'fs';

// The Data
const data = [1,2,3,4,5,6,7,8,9,10];

// Start For Script
await forPromise({ data: data }, (index, fn, fn_error) => {

    // Show Index
    console.log(`The index value '${index}' is '${data[index]}'.`);

    // Wait Script
    fs.readdir(testFolder, (err, files) => {
        
        // Success! The "fn()" will say that the execution of this script has ended. 
        if(!err) {
            fn();
        }

        // Error! The execution of the promise will be interrupted here!
        else {
            fn_error(err);
        }

    });

});

Execute a "For Script" with extra "For Scripts" functions.

// For Promise
import forPromise from 'for-promise';

// Module Example
import fs from 'fs';

// The Data
const data = [1,2,3,4,5,6,7,8,9,10];
const data2 = [11,12,13,14,15,16,17,18,19,20];

// Start For Script
await forPromise({ data: data }, (index, fn, fn_error, extra) => {

    // Show Index
    console.log(`The index value '${index}' is '${data[index]}'.`);

    // Add Extra For Script for the "data2"
    const extraForAwait = extra({ data: data2 });

    // Execute the extra For Script
    extraForAwait.run((index2, fn, fn_error) => {

        // Show Index
        console.log(`The index value '${index2}' is '${data2[index2]}'.`);

        // Wait Script
        fs.readdir(testFolder, (err, files) => {
        
            // Success! The "fn()" will say that the execution of this script has ended. 
            if(!err) {
                fn();
            }

            // Error! The execution of the promise will be interrupted here!
            else {
                fn_error(err);
            }

        });

    });

    // Complete Here
    fn();

});

Execute a "Do While Script".

// For Promise
import forPromise from 'for-promise';

// Prepare Do Whilte Data
const whileData = { count: 0 };

// Start the Promise
await forPromise({
    
    // Prepare Settings
    type: 'while',
    while: whileData,

    // The Value will be checked here
    checker: () => {
        return (whileData.count < 3);
    }

}, (fn, fn_error) => {

// Test Value
console.log(`Do: ${whileData.count}`);

// Count the Value
whileData.count++;

// Complete
fn();

});

Execute a "For Script" with "Break FN". It is the same result of adding a "break" to a "For Script".

// For Promise
import forPromise from 'for-promise';

// Start the Promise
await forPromise({
    data: [1, 2, 3]
}, (item, fn) => {

    // Test Value
    console.log(`Array with Force Break: ${item}`);

    // Break FN
    fn(true);

});
// For Promise
import forPromise from 'for-promise';

// Module Example
import fs from 'fs';
import path from 'path';

// Start the Promise
await forPromise({
    data: [1, 2, 3]
}, (item, fn, fn_error) => {

    // Wait Script
    fs.readdir(path.join(__dirname, './folder'), (err, files) => {

        // Success! The "fn()" will say that the execution of this script has ended. 
        if (!err) {
            console.log(`Force Break used to read this data: ${item}`);
            console.log(files);
            fn({ forceResult: true });
        }

        // Error! The execution of the promise will be interrupted here!
        else {
            fn_error(err);
        }

     });

    // Force Complete
    fn({ break: true, dontSendResult: true });

});