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;
网友评论