Async Logo

Build Status via Travis CI NPM version Coverage Status Join the chat at https://gitter.im/caolan/async libhive - Open source examples jsDelivr Hits

Async 是一个实用程序模块,它为使用异步 JavaScript 提供了直接、强大的函数。尽管最初设计用于与 Node.js 一起使用,使用 npm install --save async 进行安装。 它也可以直接在浏览器中使用。

获取英文原版文档, 请访问 https://caolan.github.io/async/

获取中文文档, 请访问 https://tuzhu008.github.io/async_cn/

获取 Async v1.5.x 版本的文档,请移步 HERE

// 关于使用 Node式 的回调 —— 回调函数作为最后一个参数,回调函数的第一参数为 Error对象
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 现在是 JSON 数据的一个映射
    doSomethingWith(configs);
});
// ...或者 ES2017 async 函数
async.mapLimit(urls, 5, async function(url) {
    const response = await fetch(url)
    return response.body
}, (err, results) => {
    if (err) throw err
    // results 现在是一个响应主体数组。
    console.log(results)
})
Copyright © tuzhu008 2017 all right reserved,powered by Gitbook该文件修订时间: 2017-12-14 18:11:44

results matching ""

    No results matching ""