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
如有任何疑问,请随时提出。
这道题看似简单,但我在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
中删除 getUniqueElementfunction 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 如有任何疑问,请随时提出。