async README

The project's README from github.com/caolan/async. As one markdown file: README.md.

Async Logo

Github Actions CI status NPM version Coverage Status Join the chat at https://gitter.im/caolan/async jsDelivr Hits

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 i async, it can also be used directly in the browser. An ESM/MJS version is included in the main async package that should automatically be used with compatible bundlers such as Webpack and Rollup.

A pure ESM version of Async is available as async-es.

For Documentation, visit https://caolan.github.io/async/

For Async v1.5.x documentation, go HERE

// for use with Node-style callbacks...
var async = require("async");

var obj = {dev: "/dev.json", test: "/test.json", prod: "/prod.json"};
var configs = {};

async.forEachOf(obj, (value, key, callback) => {
    fs.readFile(__dirname + value, "utf8", (err, data) => {
        if (err) return callback(err);
        try {
            configs[key] = JSON.parse(data);
        } catch (e) {
            return callback(e);
        }
        callback();
    });
}, err => {
    if (err) console.error(err.message);
    // configs is now a map of JSON data
    doSomethingWith(configs);
});
var async = require("async");

// ...or ES2017 async functions
async.mapLimit(urls, 5, async function(url) {
    const response = await fetch(url)
    return response.body
}, (err, results) => {
    if (err) throw err
    // results is now an array of the response bodies
    console.log(results)
})

async (caolan/async)

Searching Database…

28.1K ·GitHub
Что это такое?Async — это служебный модуль с простыми и мощными функциями для работы с асинхронным JavaScript, изначально созданный для Node.js.
Это библиотека, которую я подключаю к своему коду, или программа, которую я запускаю?Это библиотека: вы устанавливаете её в свой проект и вызываете её функции из собственного кода на JavaScript. Запускать или разворачивать её отдельно не нужно.
Как добавить её в проект на Node.js?Выполните npm i async в своём проекте и импортируйте модуль — на этом вся настройка закончена.
При установке она потянет за собой кучу других пакетов?Нет — в package.json репозитория не заявлено ни одной зависимости времени выполнения, поэтому npm i async добавляет только этот один модуль.
Она работает с современными ES-модулями (import)?Да — а для проектов, целиком построенных на ESM, есть отдельный пакет async-es, полностью ESM-версия Async.
Она будет работать и в браузере, а не только на сервере?Да — помимо Node.js её можно использовать прямо в браузере. Основной пакет также содержит ESM/MJS-версию, которую сборщики вроде Webpack и Rollup подхватывают автоматически.
Чем конкретно мне помогут эти функции?README остаётся общим: это функции для работы с асинхронным JavaScript. Полное описание API находится в документации, на которую ссылается репозиторий.
Это зрелый и активно развиваемый проект?Вполне — репозиторий создан в июне 2010 года, у него около 28 000 звёзд на GitHub, и он не переведён в архив.
Можно ли использовать её в коммерческих проектах?Да. Async распространяется по лицензии MIT, поэтому её можно свободно использовать, изменять и поставлять, в том числе в коммерческих продуктах.
What are similar projects?lollipop-css, prism, date-fns, classnames, core-js, joi, mongoose, comlink
Creator
caolan
Size
8.8 MB
Stars
28.1K
Age
16y
Commits · 90 Days