JavaScript - 如何在收到函数回调之前保持循环

Ven*_*lev 1 javascript

这是我的for循环:

    for (var d = startDate; d <= in30DaysDate; d.setDate(d.getDate() + 1)) {
        var loopDay = new Date(d);
        DoYourDaylyJob();
        console.log("Day:" + loopDay);
    }
Run Code Online (Sandbox Code Playgroud)

我应该做些什么DoYourDailyJob()来防止循环在它做"日常"工作之前的第二天进行?

我希望我已经足够好地描述了它.我应该附加任何类型的函数回调DoYourDailyJob,但如果是这样,那将如何阻止循环继续进行直到它从函数接收响应?

我不知道这是否可行.如果有可能,您可以通过示例来回答这个问题吗?

Jon*_*lms 8

只需返回一个Promise DoYourDailyJob,然后就像它一样简单:

 (async function() {

 for (var d = startDate; d <= in30DaysDate; d.setDate(d.getDate() + 1)) {
    var loopDay = new Date(d);
    await DoYourDaylyJob();
    console.log("Day:" + loopDay);
 }

 })()
Run Code Online (Sandbox Code Playgroud)