我正面临一个我无法在Node Js代码中处理的案例。
以下是重点:
我需要调用此函数
addClosestTask = function(currentTask,taskArray,travel_mode,time_p,callback_p){
async.mapLimit(taskArray,3,function(task,callback_async){
map.getTravelTime(currentTask["destination"]["location"][1],currentTask["destination"]["location"][0],task["destination"]["location"][1],task["destination"]["location"][0],travel_mode,true,callback_async);
},function(error,result){
if(error){
callback(true,null,null);
}
else{
var min_time = _.min(result);
var min_index = _.findIndex(result,function(item){
return item == min_time ;
});
if(time_p + 240 + min_time < 2400){
callback_p(null,taskArray[min_index],time_p + 240 + min_time);
}
else{
callback_p(true,null,null);
}
}
});
};
有一个启动currentTask和taskArray。 travel_mode总是不变的。
我需要调用此函数,直到将错误传递给回调第一个参数。 在每次调用之后,我需要使用回调第二个参数和time_p返回的任务更新currentTask,并使用回调第三个参数返回时间。我还需要通过一个取决于返回任务的简单操作来更新taskArray。当所有内容都更新后,我进行下一次调用,直到调用错误(由于时间条件,最终会出现这种情况。我还有一个数组,我需要每次都添加返回的任务。
我显然试图查看异步模块函数,但没有找到可以处理我的问题的函数。
你知道我怎么能解决这个问题吗?
非常感谢,我无法找到摆脱这个问题的方法。