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. -
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 -
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:1hab 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.
-
@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 :)
-
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.
-
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.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden