1. Callbacks are imperative, promises are functional: Node’s biggest missed opportunity – The If Works
JavaScript(記事ではnode.js)におけるコールバックを命令型、Promisesを関数型と捕らえ、node.jsの多くのAPI、モジュールがコールバックを利用している点が欠点となっている解説をしつつ、関数型のアプローチについて、Promisesを使ったアプローチの利点を紹介。
上記の記事に対して、node.jsのエコシステムの今を支えているのがコールバックではないかという反論。関数型アプローチに比べて命令型、コールバックをつかった場合は未来に発生するべき振る舞いをそれらしく表現できる点が多くのプログラマにとって理解しやすいという利点を紹介している。
今回紹介する記事の中では少し古めの記事ではあるが、Promisesが実装として現れ始めたころに書かれ、Promises/Aの仕様と合わない実装が多くあるためそれらのツールに対する注意喚起とテストツールを提供した記事。
jQueryは未だにこの仕様と合わない状態であるとのこと。
Promisesとコールバックの実装面での違いについて、両者を同じ実装でスニペットを交えて比べることで紹介。
合わせてPromisesが持つコールバック地獄の回避以上の利点についても紹介している。
5. Using jQuery promises to render Backbone views after fetching data via Bridging the geek-suit divide
この記事ではさらに個別具体性の高い例を紹介。Backbone.jsのViewをjQueryのPromisesを利用して実装する例を紹介。スニペットはCoffeeScriptではあるが、短い上にきちんと解説があるので参考になるはず。
by Yuya Saito
Follow Me @ Twitter / GitHub
And Join the OSS "Social" Translation Community "en.ja OSS"