我嘗試創建一個函式以在 setInterval 中使用該代碼,但是當我使用該代碼創建一個函式時它停止作業。我幾乎嘗試了一切。你們能幫我解決這個問題嗎?
(async () => {
let feed = await parser.parseURL(url);
feed.items.forEach(item => {
const habert = item.pubDate;
const d2 = new Date(habert)
var diffMs = (d1 - d2);
var diffHrs = Math.floor((diffMs % 86400000) / 3600000); // hours
var diffMins = Math.round(((diffMs % 86400000) % 3600000) / 60000); // minutes
if(diffMins <= 5 && diffHrs <= 0){
//console.log(`?? Yeni haber geldi: ` '\n' "Ba?l?k: " item.title `\n` "??erik: " item.content "??erik sisteme kay?t edildi." `\n` item.pubDate)
const haber_baslik = item.title;
console.log(haber_baslik);
if(db.get('sonhaber') != haber_baslik){
db.set('sonhaber', haber_baslik);
bot.sendMessage('@borugazetesi', `?? : ${item.title} \n \n ?? ${item.content}`);
}else{
return console.log("Son haber zaten sorunsuz bir ?ekilde g?nderildi.");
}
//console.log(sorgu);
}
});
//setInterval(haberkontrol, 600);
})();
uj5u.com熱心網友回復:
您沒有正確定義您的函式,并且您在設定間隔呼叫的函式中呼叫 setInterval。
你能試試這個嗎?我希望它會起作用,但我認為每秒檢查所有記錄效率不高。
const habercontrol = () => {
parser.parseURL(url).then((feed)=>{
feed.items.forEach(item => {
const habert = item.pubDate;
const d2 = new Date(habert)
var diffMs = (d1 - d2);
var diffHrs = Math.floor((diffMs % 86400000) / 3600000); // hours
var diffMins = Math.round(((diffMs % 86400000) % 3600000) / 60000); // minutes
if(diffMins <= 5 && diffHrs <= 0){
//console.log(`?? Yeni haber geldi: ` '\n' "Ba?l?k: " item.title `\n` "??erik: " item.content "??erik sisteme kay?t edildi." `\n` item.pubDate)
const haber_baslik = item.title;
console.log(haber_baslik);
if(db.get('sonhaber') != haber_baslik){
db.set('sonhaber', haber_baslik);
bot.sendMessage('@borugazetesi', `?? : ${item.title} \n \n ?? ${item.content}`);
}else{
return console.log("Son haber zaten sorunsuz bir ?ekilde g?nderildi.");
}
//console.log(sorgu);
}
});
});
};
setInterval(habercontrol, 600);
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/432263.html
標籤:javascript 功能 循环 电报 设置间隔
