javascript删除async.parallel中的函数

javascript remove functions in async.parallel

本文关键字:函数 parallel 删除 async javascript      更新时间:2023-09-26

这个问题看起来很简单,但我对javascript没有任何经验,并且对回调函数感到困惑。

最初的代码是用"async.pallel"做一些"async.each"的东西。

function fillMap(listElements, elementMap, params, callBack) {
    async.each(listElements, function findElement(listElement, forEachCallBack) {
        async.parallel(
            {
                fun1: function getUniqueElement(parallelCallBack) {
                    params.getResponse1(parallelCallBack);
                },
                fun2: function getElement(parallelCallBack) {
                    params.getResponse2(parallelCallBack);
                }
            },
            function fillElement(err, res) {
                if (err) {
                    return forEachCallBack(err);
                }
                elementMap[listElement] = res.body;
                forEachCallBack();
            });
    }, callBack);
}

现在我不需要async.parallel中的第一个函数,我只需要"getElement",而不需要"getUniqueElement"。我应该如何从async.parallel主体中删除它?我不需要"async.parallel",但我不知道如何用"fillElement"调用"getElement"仍然接收响应体。。

有什么建议吗?

谢谢!

从async.parallel 中删除getUniqueElement

function fillMap(listElements, elementMap, params, callBack) {
    async.each(listElements, function findElement(listElement, forEachCallBack) {
        async.parallel(
            {
                fun2: function getElement(parallelCallBack) {
                    params.getResponse2(parallelCallBack);
                }
            },
            function fillElement(err, res) {
                if (err) {
                    return forEachCallBack(err);
                }
                elementMap[listElement] = res.body;
                forEachCallBack();
            });
    }, cb);
}

删除整个异步并行块

function fillMap(listElements, elementMap, params, callBack) {
    async.each(listElements, function findElement(listElement, forEachCallBack) {
        var fillElement = function (err, res) {
            if (err) {
                return forEachCallBack(err);
            }
            elementMap[listElement] = res.body;
            forEachCallBack();
        }
        var getElement = function (callback) {
            params.getResponse2(callback);
        };
        getElement(fillElement);
    }, callBack);
}

尝试浏览apihttps://github.com/caolan/async如果有任何疑问,请随时询问。