Передавайте аргументы отложенной функции с помощью Haxe - PullRequest
2 голосов
/ 17 июня 2010

Знаете ли вы, есть ли простой способ передать некоторые аргументы в функцию, вызываемую через

haxe.Timer.delay(func, delay);

Под "легким" я подразумеваю, не создавая никакого пользовательского таймера.

Ответы [ 2 ]

5 голосов
/ 19 июня 2010

Для этого вы можете использовать bind().Например, если вы хотите позвонить someFunction("abc"):

haxe.Timer.delay(someFunction.bind("abc"), 1000); // 1s

до Haxe 3, вы можете использовать callback:

haxe.Timer.delay(callback(someFunction,"abc"), 1000); // 1s
4 голосов
/ 18 июня 2010

Все может быть достигнуто с дополнительным уровнем косвенности: -)

Кажется, вам нужно замыкание , единственная задача которого - вызывать другую функцию с аргументами.

Как-то так (не проверено):

haxe.Timer.delay(function () {
    func(arg1, arg2);
}, delay);
...