我在运行代码时收到'cb'参数错误



我写了下面的代码:

var fs = require('fs');
var data = {
name:'Bob'
}

,我得到这个错误:

fs.writeFile('data.json',data) "the 'cb' argument must be of type function. Received undefined"

我该如何修复它?

您正在使用异步回调风格的fs.writeFileAPI,而没有回调(简称cb)。

此外,在尝试写入数据之前,您没有将数据编码为JSON,因此也会失败。

:

  • 使用fs.writeFileSync()同步写文件:
    fs.writeFileSync("data.json", JSON.stringify(data));
    
  • 传入一个回调(可以是任何东西,但它需要在那里):
    fs.writeFile("data.json", JSON.stringify(data), (err) => err && console.error(err));
    
  • 使用fs/promises基于承诺的异步API:
    var fsp = require('fs/promises');
    await fsp.writeFile("data.json", JSON.stringify(data));
    

最新更新