NEWS
(Erledigt!) TypeScript Kompilierfehler
-
In einem JavaScript funktioniert der Code aus der Anleitung, in TypeScript nicht. Kann mir hier bitte jemand helfen?
onMessage('message1', (data, callback) => { console.log(`Received data: ${data}`); callback({ result: Date.now() }); });
javascript.0 (80776) script.js.common.Test2: TypeScript compilation failed: onMessage('message1', (data, callback) => { ^ ERROR: Argument of type '(data: any, callback: any) => void' is not assignable to parameter of type 'SimpleCallback<any>'. Target signature provides too few arguments. Expected 2 or more, but got 1.
-
@uwe72 sagte in TypeScript Kompilierfehler:
onMessage('message1', (data, callback) => { console.log(
Received data: ${data}
); callback({ result: Date.now() }); });Ist ein Fehler, wenn du callback weg lässt, geht das compilieren, der Code ist dann aber nix
-
lustig ist, als ich das so kopiert habe, stand bei mir der gleiche fehler.
als ich in der doku nachgeschaut habe und das beispiel dort kopiert habe
ist der fehler verschwunden.als ich nochmal den schnipsel vom TE kopiert habe, was ja das selbe ist, nur der Messagename ist unterschiedlich, erschien der Fehler nicht mehr.
Bei mir funktioniert das 1:1 -
hab das auch gerade versucht, aber bei mir geht das nicht.
Die definitionen sind so:
type SimpleCallback<T> = (result?: T) => void | Promise<void>; function onMessage(message: string, callback?: SimpleCallback<any>);
https://github.com/ioBroker/ioBroker.javascript/blob/master/lib/javascript.d.ts
Aber kenne mich mit dem Adapter nur als Anwender aus.
-
Ja, wenn ich den Callback weglasse lässt es sich zumindest kompilieren.
onMessage('message1', (data) => { //console.log(`Received data: ${data}`); callback({ result: Date.now() }); log("Received data: " + data); });
-
Bis der Fehler behoben ist, kannst du das so machen:
//@ts-expect-error onMessage('messageName', (data, callback) => { console.log(`Received data: ${data}`); callback({ result: Date.now() }); });
Sobald der Fehler behoben ist, wird das Skript beim compilieren am expect-error einen Fehler auswerfen.
gibt auch //@ts-ignore benutze ich aber nicht.
-
@ticaki PERFEKT. DANKE!!!
Wirklich vielen Dank.