使用fs和setInterval的Node js

时间:2018-10-27 17:06:49

标签: javascript node.js json fs

此代码出现错误“回调必须是一个函数”

function saveCallback() {console.log("Sauvegarde du json")}
bot.login(TOKEN)
var test = '{"channelAlias":[]}'
setInterval(fs.writeFile('stockage.json',test,saveCallback), 300000)

3 个答案:

答案 0 :(得分:1)

尝试

function saveCallback() {console.log("Sauvegarde du json")}
bot.login(TOKEN)
var test = '{"channelAlias":[]}'
setInterval(() => { 
  fs.writeFile('stockage.json',test,saveCallback)
}, 300000)

setInterval的签名是setInterval(callbackFUNCTION,time)

答案 1 :(得分:0)

var fs = require('fs')
function saveCallback() {console.log("Sauvegarde du json")}
var test = '{"channelAlias":[]}'
setInterval(function(){fs.writeFile('stockage.json',test,saveCallback)}, 3000)

请查看区别

下面不会给出错误

function willReturnFunction(){
    return function(){
        console.log("welcome")
    }
}
setInterval(willReturnFunction(),1000)

以下将给出错误信息(您的情况

function willNotReturnFunction(){
    //returning something other than funtion
    // like fs.wrtiteFile function
    return "some string"
}
setInterval(willNotReturnFunction(),1000)

我希望这会有所帮助!海军陆战队

答案 2 :(得分:0)

const saveCallback = () => {
    console.log(`Sauvegarde du json`)
}
bot.login(TOKEN)
const test = `{ "channelAlias": [] }`
setInterval(() => fs.writeFile(`./stockage.json`, test, saveCallback), 300000)