美文网首页nodejs
2018-10-11 nodejs设置延时后再执行下一步操作--

2018-10-11 nodejs设置延时后再执行下一步操作--

作者: 五大RobertWu伍洋 | 来源:发表于2018-10-11 16:05 被阅读419次
const delay = ms => new Promise(resolve => setTimeout(resolve, ms));

await delay(500)

这样我们就把原来setTimeout函数的第一个参数(回调函数)解放出来了。

我们可以延时后,直接执行操作——解放了原来的延时回调函数!


const delay = ms => new Promise(resolve => setTimeout(resolve, ms));

async function something() {
    console.log("this might take some time....");
    await delay(5000);
    console.log("done!")
}

something();

我们可以延迟500毫秒然后再查询转化日志:

const delay = ms => new Promise(resolve => setTimeout(resolve, ms));

 const saveeventarray = async function(html, querydata, clickid, clickrs, callback) {
    //check cpc event log after 1 seconds since adv side got a simulated conversion
    const eventquery = {};
    eventquery.impid = clickid;
    eventquery.creative_id = querydata.creative_id;
    await delay(500);
    const rs = await mongo.mongoqueryPromise(eventquery, 'EventLog', 'event', conf.mongo.dbstr);
    var result = [];
    result.push(clickrs);
    result.push({
        "callback_info": rs.callback_info
    });
    result.push({
        "adv callback response ": html
    });
    result.push({
        "event time  ": rs.event_day + " " + rs.event_hour + ":" + rs.event_min + ":" + rs.event_sec
    });
    result.push({
        "event query ": eventquery
    });
    result.push({
        "event log ": rs
    });
    // eval(callback)(result);
    return result;

相关文章

网友评论

    本文标题:2018-10-11 nodejs设置延时后再执行下一步操作--

    本文链接:https://www.haomeiwen.com/subject/vkbbaftx.html