Узел JS с FS и SetInterval - PullRequest
       4

Узел JS с FS и SetInterval

0 голосов
/ 27 октября 2018

У меня ошибка «Обратный вызов должен быть функцией» с этим кодом

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

Ответы [ 3 ]

0 голосов
/ 27 октября 2018
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)

Надеюсь, это поможет!Навин

0 голосов
/ 27 октября 2018
const saveCallback = () => {
    console.log(`Sauvegarde du json`)
}
bot.login(TOKEN)
const test = `{ "channelAlias": [] }`
setInterval(() => fs.writeFile(`./stockage.json`, test, saveCallback), 300000)
0 голосов
/ 27 октября 2018

Попробуйте

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

setInterval подпись setInterval (callbackFUNCTION, время)

...