![require(esm) Backported to Node.js 20, Paving the Way for ESM-Only Packages](https://cdn.sanity.io/images/cgdhsj6q/production/be8ab80c8efa5907bc341c6fefe9aa20d239d890-1600x1097.png?w=400&fit=max&auto=format)
Security News
require(esm) Backported to Node.js 20, Paving the Way for ESM-Only Packages
require(esm) backported to Node.js 20, easing the transition to ESM-only packages and reducing complexity for developers as Node 18 nears end-of-life.
Make array iteration easy with async/await and promises
Promise
, making them awaitable and thenable$ npm install --save asyncitt
Smooth asynchronous iteration using async/await
:
const { map } = require('asyncitt');
async function example () {
// map passing an async function as callback
const foo = await map([1, 2, 3], async (num) => {
const result = await asyncCall();
return num * result;
});
// map passing a non-async function as callback that returns a Promise
const bar = await map([1, 2, 3], (num) => asyncCall2(num));
}
All methods return a promise so they can just be used outside an async function:
const { map } = require('asyncitt');
map([1, 2, 3], (num) => asyncCall2(num)).then((foo) => {
// ...
});
Check the JavaScript reference for details about the API, they use the same syntax, but all return a Promise
.
Excepting reduce
, all methods callbacks are run in parallel. There is a series version of each method, called: ${methodName}Series
. Series methods use the same API that their respective parallel ones.
Extending native objects is discouraged and I don't recommend it, but in case you know what you are doing, you can extend Array.prototype
to use the above methods as instance methods. They have been renamed as async${MethodName}
so the original ones are not overwritten.
const { instanceMethods } = require('asyncitt');
Object.assign(Array.prototype, instanceMethods);
async function example () {
const foo = await [1, 2, 3].asyncMap((num) => asyncCall(num));
}
MIT © Antonio V
FAQs
Make array iteration easy with async/await and promises
We found that asyncitt demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
require(esm) backported to Node.js 20, easing the transition to ESM-only packages and reducing complexity for developers as Node 18 nears end-of-life.
Security News
PyPI now supports iOS and Android wheels, making it easier for Python developers to distribute mobile packages.
Security News
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.