Oye, tengo este trozo de código en mi API y me da un error que no entiendo.
Código:
server.get('/deleteall', async (request, reply) => { var json = JSON.stringify(deleteall); fs.writeFile('todos.json', json, 'utf8', callback); return 'File overwritten.' })Error :
Argument of type '(arg0: string, json: string, arg2: string, callback: any) => void' is not assignable to parameter of type 'NoParamCallback'.El error ocurre en la compilación, no lo entiendo en absoluto, tenga en cuenta que esta es mi primera experiencia con TS.
El argumento de callback de llamada para fs.write() se define así:
export type NoParamCallback = (err: NodeJS.ErrnoException | null) => void; Lo que haya definido como callback de llamada no coincide con esa definición de tipo. Debería ser algo como:
function callback(err) { console.log(err); }O especificado en línea:
fs.writeFile('todos.json', json, 'utf8', (err) => console.log(err));Como comentario más general: le sugiero que migre a la API de promesas para escapar del infierno de devolución de llamada.