Async is a utility module which provides straight-forward, powerful functions for working with asynchronous JavaScript. Although originally designed for use with Node.js and installable via npm install --save async
, it can also be used directly in the browser.
This version of the package is optimized for building with webpack. If you use Async in Node.js, install async
instead.
For Documentation, visit https://caolan.github.io/async/
For Async v1.5.x documentation, go HERE
import { forEachOf } from "async-es";
const images = {cat: "/cat.png", dog: "/dog.png", duck: "/duck.png"};
const sizes = {};
forEachOf(images, (value, key, callback) => {
const imageElem = new Image();
imageElem.src = value;
imageElem.addEventListener("load", () => {
sizes[key] = {
width: imageElem.naturalWidth,
height: imageElem.naturalHeight,
};
callback();
});
imageElem.addEventListener("error", (e) => {
callback(e);
});
}, err => {
if (err) console.error(err.message);
doSomethingWith(sizes);
});
import { mapLimit } from "async-es";
mapLimit(urls, 5, async function(url) {
const response = await fetch(url)
return response.body
}, (err, results) => {
if (err) throw err
console.log(results)
})