express の後継だけあって期待が高まってる Koa ですが、あの珍妙な yield による同期処理っぽい記述がどのようにして支えられているかメモってみます。 年末年始を経てヤル気が高まってきたので、久々にnodeの話。 visionmedia/co さて本題。 早速ですが、koa の middleware における、あの特徴的な yield 天国は、koa ではなく co というモジュールによるものです。サンプルを見るのが早いです。 本件は yield を使うので、現時点では node v0.11.x を --harmony オプション付き実行が必要なことに注意してください 下記は co を単品で利用した場合のサンプルです。 /** * GETリクエストを非同期処理するモジュールを想定 * @example get('http://example.com')(function() {
![いぇーい yield と co と koa](https://cdn-ak-scissors.b.st-hatena.com/image/square/2183e9bbc25dbbdb50624f0d9497aa7861959398/height=288;version=1;width=512/https%3A%2F%2Fhavelog.aho.mu%2Fogp-default.jpg)