当async.forever中的所有代码都已完成时,我想调用另一个方法。以下是我的代码:
app.post('/insert', function(req, res) // this is the node post method
{
var flag = 0;
var offset = 0;
// this the async forever method
async.forever(function chk(next)
{
if(flag==1)
{
}
else
{
connection.query('SELECT nlc,id,user_id,coin_id FROM tbl_buy WHERE `type`="buy" AND `status`="available" AND coin_id="'+jsondata.coinid+'" AND order_type="market" order by id ASC LIMIT '+offset+',1',function (error,results, fields)
{
if(results.length > 0)
{
flag = 1;
executeOrder(results,results_arr);
}
else
{
offset++;
next();
}
});
}
},
function finished(err)
{
if(err) console.log(err);
executeLimitOrders(jsondata.coinid);//want to call this , so that my function will be executed at last.
}
)
});
我尝试在完成方法之后调用它,但是该方法被称为异步。也是,尝试在if条件中调用它if if(flag == 1)这里没有进入if条件。我尝试在自定义方法executeOrder中调用该方法的另一种方法(results,results_arr); ,它仍然同步执行代码。我希望它在执行executeOrder后执行(results,results_arr);方法
请提示如何调用我的方法executeLimitOrders(jsondata.coinid);在async.forever中的所有内容都被执行后。或者在executeOrder之后alttest(results,results_arr);方法已执行。