如何设置nodejs同步工作?

时间:2017-12-11 14:58:25

标签: mysql json node.js mongodb asynchronous

var job = new cronJob('* * * * * *', function () {
    Draft.find().then(data => {
        var finalData = data;
        finalData.forEach(function(item2) {
            if (item2.scheduledTime === 'now') {
                finalData.forEach(function (item) {
                    var psms = {
                        phoneno: item.senderdata,
                        sender: item.senderName,
                        message: item.message
                    }
                    var obj = psms;
                    var finalpostsms = obj.phoneno.split("\n").map(s => ({ ...obj,
                        phoneno: +s
                    }));
                    Profsms.bulkCreate(finalpostsms).then(function (data) {
                        if (data) {
                            console.log("successfully moved in profsms mysql");

                        } else {
                            console.log("failed");
                        }
                    })
                });
            } else {
                console.log('Better you be in drafts..manual input');
            }
            //delete from draft
            if (item2.scheduledTime === 'now') {
                Draft.findOneAndRemove({
                    _id: item2._id
                }, function (err, employee) {
                    if (err)
                        console.log('err');
                    console.log('Successfully deleted from draft');
                });
            } else {
                console.log('You cant delete from drafts hahaha because no sendnow statement');
            }
        });
    });
}, function () {
    console.log('DelCron Job finished.');
}, true, 'Asia/Calcutta');

以上代码,异步工作。

我希望上面的代码能够同步工作,需要一些答案。我是JS开发的新手

是否可以使用异步等待?我不知道如何编写异步等待代码。

2 个答案:

答案 0 :(得分:-1)

你的回调应该是

0

答案 1 :(得分:-1)

这是一个异步等待示例代码,您可以根据需要进行修改。但首先您需要使用支持异步语法的Node。我相信节点8 LTS已经具有异步/等待功能。

function get() {
 // your db code block
 return Promise.resolve(7);
}

async function main() {
  const r = await get();
  console.log(r);
}

main();