У TypeScript я можу оголосити параметр функції як функцію типу. Чи є такий "безпечний для типу" спосіб цього зробити, який я пропускаю? Наприклад, врахуйте це:
class Foo {
save(callback: Function) : void {
//Do the save
var result : number = 42; //We get a number from the save operation
//Can I at compile-time ensure the callback accepts a single parameter of type number somehow?
callback(result);
}
}
var foo = new Foo();
var callback = (result: string) : void => {
alert(result);
}
foo.save(callback);
Зворотний зв'язок збереження не є безпечним, я надаю йому функцію зворотного виклику, де параметром функції є рядок, але я передаю їй номер і компілюється без помилок. Чи можу я зробити параметр результату для збереження безпечної для типу функції?
Версія TL; DR: чи є еквівалент делегата .NET у TypeScript?
(n: number) => any
означає будь-яку функцію підпису?