不能将 '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 defined 的 callback
参数如下:
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 以逃避回调地狱。
哟,我的 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 defined 的 callback
参数如下:
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 以逃避回调地狱。