gpt4 book ai didi

actionscript-3 - AS3 : How to force parameters in callback functions

转载 作者:行者123 更新时间:2023-12-02 10:41:19 24 4
gpt4 key购买 nike

我目前正在做这样的事情:

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");
}

最佳答案

我的理解是,这是一种只能在运行时捕获的情况。 AS3 没有提供这种类型检查的机制。我建议如果这很重要,您可以通过传递具有强类型接口(interface)的对象而不是简单地传递函数来进行编译时检查,因为您需要的类型信息将丢失。

关于actionscript-3 - AS3 : How to force parameters in callback functions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2378427/

24 4 0