Я сейчас делаю что-то вроде этого:
myFunc(tracer);
function tracer(message:String):void{
trace(message);
}
function myFunc(callback:Function):void{
callback("Hello");
}
Теперь это работает отлично. Но как функция myFunc может знать, если данная функция обратного вызова принимает правильное число и тип аргументов в своей подписи?
Я хочу, чтобы я не вызывал что-то подобное в моем коде:
myFunc(tracer2);
function tracer2():void{
trace("done");
}
function myFunc(callback:Function):void{
// Argument mismatch!
callback("Hello");
}
Есть ли способ сделать что-то подобное, чтобы использовать предупреждения / сообщения об ошибках компилятора и таким образом избегать исключений во время выполнения?
// Won't work :-(
function myFunc(callback(message:String):Function):{
callback("Hello");
}