我來找你是因為我正在嘗試在 Discord.JS 上執行 foreach 循環來檢測 JSON 文件中的更改。我的文件確實更改了內容,但我的 foreach 循環將舊內容保留在內存中。我不知道如何解決這個問題......我的 index.js:const Discord = require('discord.js');const low = require('lowdb')const FileSync = require('lowdb/adapters/FileSync')const fetch = require('node-fetch');const client = new Discord.Client();const config = require('./config.json');const database = require('./db.json');const adapter = new FileSync('./db.json')const db = low(adapter)const prefix = config.prefix;let api = config.api;client.once('ready', () => { db.defaults({numbers: []}) .write() setInterval(function() { database.numbers.forEach(async element => { let state = await fetch(`some-api-url`).then(response => response.json()); if(state[0].response != element.response){ db.get('numbers') .find({number: element.number}) .assign({response: state[0].response, sms: state[0].msg}) .write(); let user = element.clientId; try { await client.users.cache.get(user).send(`Your message for number ${element.number} is ${element.sms}`); } catch(error){ console.log(error) } } }); }, 3000); console.log('Ready!');});一切正常,它只是將舊文件保存在內存中。
未考慮 NodeJS 的 json 更改
慕斯709654
2022-11-03 10:20:33