我正在使用Date.now()
函数来获取进行api调用时的时间戳。我将其存储在由nedb-promises
支持的数据库中。以后如何在代码中使用它来检查是否需要新的api调用来更新存储的数据?我想每天至少检查一次。
db.definitions.find({}).then( (results) => {
if( results.length > 0 ){
console.log(results);
if( Math.round(new Date().getTime() / 1000) - results.lastUpdate >= 86400 ){
updateDefinitions().then( (filters) => {
db.definitions.update({}, { $set: {filters} }, { returnUpdatedDocs: true }).then( (result) => {
console.log(result);
advServers.push(results.filters.easylist);
trackingServers.push(results.filters.easyprivacy);
});
});
}else{
console.log("definitions already up to date");
advServers.push(results.easylist);
trackingServers.push(results.easyprivacy);
}
}else{
updateDefinitions().then( (filters) => {
console.log(filters);
db.definitions.insert({ filters }).then( (result) => {
console.log(result);
advServers.push(results.filters.easylist);
trackingServers.push(results.filters.easyprivacy);
});
});
}
});