问题
Do you know if there is an easy way to pass some arguments to a function called via
haxe.Timer.delay(func, delay);
By "easy" I mean without creating any custom timer.
回答1:
You can use bind() for this. For example, if you want to call someFunction("abc")
:
haxe.Timer.delay(someFunction.bind("abc"), 1000); // 1s
Prior to Haxe 3, you could use callback:
haxe.Timer.delay(callback(someFunction,"abc"), 1000); // 1s
回答2:
Everything can be achieved with an extra level of indirection :-)
It seems like you need a closure whose only job is to call the other function with arguments.
Something like this (untested):
haxe.Timer.delay(function () {
func(arg1, arg2);
}, delay);
来源:https://stackoverflow.com/questions/3063286/pass-arguments-to-a-delayed-function-with-haxe