javascript 删除 async.parallel 中的函数

javascript remove functions in async.parallel

这道题看似简单,但我在javascript方面的经验为0,并且对回调函数感到困惑。

原始代码是用 "async.parallel" 做一些 "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);
}

删除整个 async.parallel 块

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);
}

尝试通过 api https://github.com/caolan/async 如有任何疑问,请随时提出。