不能将 'callback' 与 fs、Typescript 一起使用

Cannot use 'callback' with fs, Typescript

哟,我的 API 中有这段代码,它给了我一个我不明白的错误。

代码:

server.get('/deleteall', async (request, reply) => {
  var json = JSON.stringify(deleteall);
  fs.writeFile('todos.json', json, 'utf8', callback);
  return 'File overwritten.'
})

错误:

Argument of type '(arg0: string, json: string, arg2: string, callback: any) => void' is not assignable to parameter of type 'NoParamCallback'.

构建时出现错误,我完全看不懂,记住,这是我的第一次 TS 体验。

fs.write() is definedcallback 参数如下:

export type NoParamCallback = (err: NodeJS.ErrnoException | null) => void;

您定义为 callback 的内容与该类型定义不匹配。它应该是这样的:

function callback(err) {
  console.log(err);
}

或指定内联:

fs.writeFile('todos.json', json, 'utf8', (err) => console.log(err));

作为更笼统的评论:我建议您迁移到 promises API 以逃避回调地狱。