IcedCoffeeScript
CoffeeScriptそのものを拡張するIcedCoffeeScript、作者はtameJSを作った@maxtaco。
host = "http://search.twitter.com/"
list = [key1, key2, key3]
res = []
await for keyword, i in list
url = "#{host}/search.json?q=#{keyword}&callback=?"
$.getJSON url, defer res[i]
console.log JSON.stringify res
kriskowal / q
CommonJS Promise/A
host = "http://search.twitter.com/"
list = [key1, key2, key3]
tesk = []
res = []
for keyword, i in list
url = "#{host}/search.json?q=#{keyword}&callback=?"
tesk[i] = $.getJSON url, (data) -> res[i] = data
Q.all(tesk).then -> console.log JSON.stringify res
mbostock / queue
D3の作者が作ったミニマルな同期関数ツール。
queueの引数で、なんとパラレリズム(同時に実行されるタスクの量)が調整出来ちゃいます。
host = "http://search.twitter.com/"
list = [key1, key2, key3]
res = []
que = queue(3)
for keyword, i in list
url = "#{host}/search.json?q=#{keyword}&callback=?"
que().defer($.getJSON, url)
que.awaitAll (error, res...) ->
console.log JSON.stringify res