Skip to content

collections/object utilities with async/await support

License

Notifications You must be signed in to change notification settings

sarunya/async-lodash

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

async-lodash

Extended from lodash to make it work with async/await.

Collections/object utilities with async/await support.

Usage In Nodejs

Async Methods supported

_.asyncEach(array, asyncFn);
_.asyncReverseEach(array, asyncFn);
_.asyncParallelEach(array, asyncFn, size); //async function will be yielded paralelly in chunks of given size
_.asyncMap(array, asyncFn);
_.asyncRemove(array, asyncFn); //returns removed values as array
_.asyncFilter(array, asyncFn); //returns filtered values as array
_.asyncFilterOne(array, asyncFn); //returns filtered value
_.asyncSleep(timeinms);

Async Filter Array:

//just to make async
    arr = [16, 1, 2, 16, 32];
    filtered = await _.asyncFilter(arr, async (val) => {
        await _.asyncSleep(val * 10);
        return val % 16 === 0;
    })
    //filtered = [16,16,32]

Async Each: Executes the function for each value of array

//just to make async
    arr = [16, 1, 2, 16, 32];
    await _.asyncEach(arr, async (val) => {
        await _.asyncSleep(10);
        console.log(val);
    })
    //16 1 2 16 32

    await _.asyncReverseEach(arr, async (val) => {
        await _.asyncSleep(10);
        console.log(val);
    })
    //32 16 2 1 16

Async Parallel Each: Yields the promise in chunks of size (_.asyncParallelEach(array, asyncFn, size)). Size will be defaulted to actual length of array

    await _.asyncParallelEach(array, async (val) => {
        await _.asyncSleep(100 * val);
        console.log("after 1000 ", val);
    }, 3)

About

collections/object utilities with async/await support

Resources

License

Stars

Watchers

Forks

Packages

No packages published