is a really cool and useful library. If we are able to use the functions with , the JavaScript life will be more comfortable.I would like to write the same as function’s way as much as possible. Because if we already know how to use , we don’t need to learn new functions. The example code is written as below. Lo-Dash Async/Await Lo-Dash Lo-Dash // example 1const array = [1, 2, 3];const result = _.map(array, syncFunc); // ↓ async/await const result = await _.map(array, asyncFunc); function syncFunc(n) {return n * 2;}function asyncFunc(n) {return new Promise(resolve => setTimeout(resolve, 10, n * 2));} The makes our code clean, we would also like to use it. _.chain // example 2const array = [1, 2, 3];const result = _.chain(array).map(syncFunc).sum().value(); // ↓ async/await const result = await _.chain(array).map(asyncFunc).sum().value(); Convert Lo-Dash functions to asynchronous functions library which I have developed has the function. It converts functions to asynchronous functions and assigns them into . The usage is as below. Aigle mixin Lo-Dash Aigle const _ = require('lodash');const Aigle = require('aigle'); Aigle.mixin(_); // example 1const array = [1, 2, 3];const result = await Aigle.map(array, asyncFunc); // example 2const result = await Aigle.chain(array).map(asyncFunc).sum().value(); // or const result = await Aigle.resolve(array).map(asyncFunc).sum(); You will be able to use the functions asynchronously. Furthermore, already has many functions which have the same functionality as functions, these functions won’t be converted because they are already optimized. Lo-Dash Aigle Lo-Dash Conclusion will make your code clean the same as . If you are interested in , I would love you to read the following articles. Let’s enjoy using . Aigle Lo-Dash Aigle Async/Await Aigle Reference Aigle Lo-Dash How to make the fastest Promise library Aigle vs Bluebird