Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

あなたが読むべきPromises #17

Merged
merged 7 commits into from
Feb 24, 2014
Merged

あなたが読むべきPromises #17

merged 7 commits into from
Feb 24, 2014

Conversation

azu
Copy link
Member

@azu azu commented Feb 10, 2014

ES6 promises に関する読んでおいた方がいい記事を簡単に紹介する記事を書こうと思ってます。

対象は今までPromise/Deferredを何らかの形で触った事があるぐらいで、
Promisesって何か、どういうユースケースがあるのか、実際どう使えばいいのかぐらいのガイドとなるぐらいの記事になればいいかなと思います。

あまり多すぎても辛いので4-5コの記事でいい感じにまとまるといいかなと思います。
オススメ等ありましたらどうぞ。

Merged

下記にこのissueをまとめた記事を書きました。

あなたが読むべきJavaScript Promises | JSer.info

この記事について加えたいこと等がある場合は引き続き、このissueに書き込んで下さい。

手動同期! してる記事へのpull-requestでも大丈夫です。

@azu
Copy link
Member Author

azu commented Feb 10, 2014

JavaScript でスマートに非同期なコードを書くための Promise パターンの仕様(改良版)の邦訳です。

Promise/A+ の翻訳 参考にあがりそう。

Promisesのチュートリアル的な記事って日本語だと殆どないので英語だけになるのはまあしょうがない。

@Layzie
Copy link
Contributor

Layzie commented Feb 10, 2014

ES6か?と言われると…な気もするんですが、読んだことある記事の羅列を。

@azu
Copy link
Member Author

azu commented Feb 10, 2014

@Layzie http://www.promisejs.org/ は良さそうなんですが、commitが止まってるのがもったいない。

then/promise の作者でもあるので、こっちが一段落したら更新する感じなのかなー

@Layzie
Copy link
Contributor

Layzie commented Feb 10, 2014

@azu 確かに微妙にコンテンツも少なめな気もしますね…。ユースケースとかにはちょっと向かないか。

@azu
Copy link
Member Author

azu commented Feb 10, 2014

Promisesのユースケースとチュートリアル.

ネイティブでデフォルトにないとチュートリアル的なしっかりしたものは書きにくそう。

MDNにリファレンスページあったんだ Promise - JavaScript | MDN

@azu
Copy link
Member Author

azu commented Feb 10, 2014

Promises/A+ を実装しながら学ぶ感じの記事が丁度よさそうなタイミングできてた!

JavaScript Promises ... In Wicked Detail - Matt Greer

以前にも同じ趣旨の記事があったの忘れてた

The Revealing Constructor Pattern はPromiseの実装でコンストラクタを使ってる理由について書かれてる。

@azu
Copy link
Member Author

azu commented Feb 15, 2014

ES6 promises互換APIを持つライブラリ

まだFirefox/Chrome/Webkit以外だと実装が進んで無いので、互換APIを持つライブラリ(polyfill的)なのも一緒に出しておいた方がよさそう。

ただA+互換あたりは掘れば掘るほど出てくるので妥当な感じで数を削ったほうがよさそう。(A+は入れなくてもいいかもしれない)

polyfillはまだ仕様の変更があるかもしれないから意外と少ないかも(他にあるかな?)、shimのような同等の機能を提供するものはたくさんある感じ。

ES6 polyfill

Promises/A+

Advanced

@Layzie
Copy link
Contributor

Layzie commented Feb 15, 2014

polyfillはこれもでしょうか。

https://github.com/jakearchibald/es6-promise

@azu
Copy link
Member Author

azu commented Feb 19, 2014

@Layzie ありがとうございます。

ES6 Fiddleを試してたら、普通にPromise実行できてTraceurみてみたらTraceurにもpolyfill入ってるんですね。

traceur-compiler/src/runtime/polyfills/Promise.js at master · google/traceur-compiler

どちらもrsvp.jsの血が入ってる感じですが。

@azu
Copy link
Member Author

azu commented Feb 23, 2014

Promise Anti-patterns

これ中々面白かった。実際に書いてると配列周りとpromiseで考える事が多いのでこういうのパターンがあるとよい。

"The Overly Keen Error Handler"でも出てきたけど、未だにthenの第二引数の使い道がピンとこない…(catchだけでいいような感じがしてしまう)

#17 (comment)

と一緒に読む感じ

逐次実行のところを修正
@azu
Copy link
Member Author

azu commented Feb 23, 2014

8th713/DOM-Promises-polyfill

DOM Promisesのpolyfillだけど references に分かりやすい日本語のドキュメントが入ってる。

cf. #17 (comment)

@azu
Copy link
Member Author

azu commented Feb 23, 2014

JavaScript での非同期プログラミング (Windows ストア アプリ) (Windows)

WinJS.Promiseに限定されるけど意外とよくまとまってる感じがする。

@azu
Copy link
Member Author

azu commented Feb 23, 2014

https://github.com/azu/jser.info/pull/17/files

ひとまず序文も書いたので完成〜

後はtypoとかおかしい文章の修正とタイトルをちゃんと決めないと…

azu added a commit that referenced this pull request Feb 24, 2014
あなたが読むべきPromises
@azu azu merged commit 83f982b into gh-pages Feb 24, 2014
@azu azu deleted the promise-and-you branch February 24, 2014 13:11
@azu
Copy link
Member Author

azu commented Feb 26, 2014

Deferred

DeferredがなぜES6に入らなかったかについてやAPI的な違いについて分かりやすい解説が欲しい。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants