前の日 / 次の日 / 最新 / 2008-03

hironyのChangeLog / 2008-03-04

01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

2008-03-04 Tue

_ JavaScriptのyield [技術]

JavaScript1.7 の yield を使って、非同期処理を同期処理のように書く方法 - IT戦記
を、コメント欄にあるURL
http://developer.mozilla.org/ja/docs/New_in_JavaScript_1.7#Generators
などを参考にしながら、なんとか理解した。

このソースの特殊なところは2箇所だと思った。
- yieldの引数としてr.sendを呼んでいるところ。本来引数である必要はない。yieldの前に呼べばおけ。Firefox2ではそれで正常に動いた。
- resumeが自分の関数の引数として定義されているところ。こうしないと、本体のyieldをRequestからsendするようなスコープで書けないっぽい。グローバルならいけるかもしれないけど。

2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12

最終更新時間: 2011-04-19 13:05