Por favor, dime cómo escribir JavaScript a continuación en coffeescript.
setTimeout(function(){
something(param);
}, 1000);
javascript
settimeout
coffeescript
tomodian
fuente
fuente
Respuestas:
Creo que es una convención útil para las devoluciones de llamada como el último argumento para una función. Este suele ser el caso con la API Node.js, por ejemplo. Así que con eso en mente:
Por supuesto, esto agrega la sobrecarga de una llamada de función adicional a cada
setTimeout
uno que realiza; pero en los intérpretes JS de hoy, el inconveniente del rendimiento es insignificante a menos que lo esté haciendo miles de veces por segundo. (¿Y qué haces configurando miles de tiempos de espera por segundo, de todos modos?)Por supuesto, un enfoque más directo es simplemente nombrar su devolución de llamada, que de todos modos tiende a producir un código más legible (jashkenas es un gran admirador de este idioma):
fuente
Los paréntesis son opcionales, pero comenzar la línea con una coma me pareció complicado.
fuente
setTimeout
y el par de apertura es importante. El espacio allí significa que los paréntesis rodean el cierre como el primer parámetro para establecerTimeout; si fue directamente después de t, entonces coffescript esperaría que los paréntesis encierren ambos parámetros.fuente
something param
está en la misma línea quesetTimeout
, se analiza de manera diferente.Esto dará como resultado una traducción más o menos equivalente (gracias @ Joel Mueller):
Tenga en cuenta que esta no es una traducción exacta porque la función anónima devuelve el resultado de la llamada en
something(param)
lugar de indefinido, como en su fragmento.fuente
setTimeout (() -> something param), 1000
Este es el mejor método para hacer lo mismo.
fuente
otra opción:
fuente