как написать setTimeout с помощью параметров Coffeescript
пожалуйста, скажите мне, как написать javascript ниже в coffeescript.
setTimeout(function(){
something(param);
}, 1000);
6 ответов:
Я думаю, что это полезное Соглашение для обратных вызовов, чтобы прийти в качестве последнего аргумента функции. Обычно это происходит с узлом.С. API, например. Итак, имея это в виду:
delay = (ms, func) -> setTimeout func, ms delay 1000, -> something param
согласен, это добавляет накладные расходы на дополнительный вызов функции для каждого
setTimeout
вы делаете; но в сегодняшних интерпретаторах JS недостаток производительности незначителен, если вы не делаете это тысячи раз в секунду. (И что вы делаете, устанавливая тысячи таймаутов в секунду, так или иначе?)конечно, более простой подход-просто назвать ваш обратный вызов, который в любом случае имеет тенденцию производить более читаемый код (jashkenas является большим поклонником этой идиомы):
callback = -> something param setTimeout callback, 1000
setTimeout ( -> something param ), 1000
скобки необязательны, но начало строки с запятой показалось мне беспорядочным.