Coffeescript, wie würde ich schreibe dieses Beispiel Warteschlange Funktionen, vor allem das Looping?

StackOverflow https://stackoverflow.com/questions/4227367

  •  26-09-2019
  •  | 
  •  

Frage

Ich versuche, einige Beispiele unter meinem Gürtel zu bekommen, wie man etwas anders in Coffeescript JavaScript tun würde. In diesem Beispiel der Warteschlangen Funktionen Ich bin verwirrt, wie Sie diese in Coffeescript tun Griff würden

    wrapFunction = (fn, context, params) ->
            return ->
                fn.apply(context, params)        

    sayStuff = (str) ->
        alert(str)


    fun1 = wrapFunction(sayStuff, this, ['Hello Fun1'])
    fun2 = wrapFunction(sayStuff, this, ['Hello Fun2'])

    funqueue = []
    funqueue.push(fun1)
    funqueue.push(fun2)

    while (funqueue.length > 0) {
        (funqueue.shift())();   
    }

Vor allem wie würde ich umschreiben dies in Coffeescript?

while (Array.length > 0) {
    (Array.shift())(); 
War es hilfreich?

Lösung

f1 = (completeCallback) ->
  console.log('Waiting...')
  completeCallback()

funcs = [ f1, f2, f3 ]

next = ->
  if funcs.length > 0
    k = funcs.shift()
    k(next)

next()

Andere Tipps

fun1 = -> alert 'Hello Fun1'
fun2 = -> alert 'Hello Fun2'

funqueue = [fun1, fun2]

el() for el in funqueue
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top