0
Ich habe ein einfaches Problem mit meinen TS-Callbacks.TypeScript optional Callback-Parameter entspricht nicht anonyme Funktion übergeben
Ich habe eine Funktion wie diese
...
//inside a class
//function is supposed to optionally accept any callback function
refreshConnection(callback?:Function) {
//do something
//then call the passed callback with no params
callback();
}
...
//in another component, i call this function like so
this.myclass.refreshConnection(() => {
window.location.reload();
});
//but i get an error saying that the function parameter does not match a signature.
// i also tried callback?: (...args: any[]) => any but nothing.
ERROR in ./src/app/fb_connect.component.ts
Module build failed: Error: /var/www/mysite/frontend/angular2/src/app/fb_connect.component.ts (70,41): Supplied parameters do not match any signature of call target.)
at _checkDiagnostics (/var/www/mysite/frontend/angular2/node_modules/@ngtools/webpack/src/loader.js:115:15)
at /var/www/mysite/frontend/angular2/node_modules/@ngtools/webpack/src/loader.js:140:17
@ ./src/app/app.module.ts 15:0-51
@ ./src/app/index.ts
@ ./src/main.ts
Anmerkung: (70,41) ist der Funktionsaufruf für refreshConnection. Kommentiert es heraus das Problem behebt
Ich [kann nicht reproduzieren] (http://www.typescriptlang.org/play/#src=function%20refreshConnection (Rückruf% 3F% 3AFunktion)% 20% 7B% 0D% 0A% 20% 20% 20% 20 % 2F% 2Fdo% 20%% 0D% 0A% 20% 20% 20% 20% 2F% 2F% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% % 3B% 0D% 0A% 7D% 0D% 0ArefreshConnection (% 20()% 20% 3D% 3E% 20% 7B% 0D% 0A% 20% 20% 20% 20window.location.reload()% 3B% 0D% 0A% 7D)% 3B% 0D% 0A). Könnten Sie versuchen, diese Site zu verwenden, um Ihren Fehler zu reproduzieren, dann bearbeiten Sie Ihre Frage, um den Link hinzuzufügen? –
Verwenden Sie Nachschärfer? Ich bekomme so viele falsche Fehler wie diese mit Nachschärfen ... es ist lächerlich. Ich navigiere manchmal Dateien mit einem Meer von Rot. –
Ich benutze keine Nachschärfer, zumindest nicht wissentlich. Das Projekt ist eine Angular 2 App, und ich kompiliere es mit dem "ng build" Tool ... welches wiederum webpack verwendet. Ich habe den Fehlercode zum ursprünglichen Beitrag hinzugefügt. Hinweis: Wenn ich den Funktionsaufruf auskommentiere, funktioniert alles einwandfrei. Ich habe auch versucht, die Funktion zu leeren (mit einer leeren Funktion, die nichts tut.) Ich denke, der Compiler gibt mir vielleicht eine falsche Zeilennummer. –