azu

Results 808 comments of azu

https://github.com/Microsoft/SyncTasks 同期Promiseのライブラリあった。 https://github.com/microsoft/reactxp で使われてた

https://gist.github.com/azu/11494644 キャンセル出来るPromiseのサブクラス書いてみたけど、Nativeのpromiseだと上手くいかない。 nativeのpromiseのsubclassは`@@create` が実装されてないとどうにもできないのかな?(`class`を使う必要がある)

https://gist.github.com/azu/11497402 delegate version も書いてみた。 ref: [Chapter 28. Subclassing Built-ins](http://speakingjs.com/es5/ch28.html#_another_solution_delegation) あんまりnative promiseの拡張って現実的じゃないのかな? 元から拡張のあるライブラリを使うほうが普通にいいのはわかってるけど、 以下みたいに今あるライブラリがnative promiseを使える場合はそっちを使う見たいな実装やる場合にこういう話になりそうな気がする。 (native promiseをベースにするのはパフォーマンスとか、細かい仕様の対応を投げられるとかがあると根本にあると思うけど) - https://github.com/cujojs/when/issues/248 ``` js class MyPromise extends Promise ``` と書けるまで待たないとできない感じなのかな。

> https://github.com/skaegi/promises-cancel 同じ試み。native promiseだと同じ動いてない感じがする。(Firefox 35、Chrome 36.0.1972.2 canary) ブラウザの実装自体も `Promise.call(this);` あたりで挙動が違う気がする…

subclassの実装参考 https://github.com/paulmillr/es6-shim/blob/cc957b039332d3b9aa3b1603841a30b6b19ce7bc/test/promise/subclass.js

現段階だとNative Promiseのサブクラスの作り方がよくわかってない。 (最初のリリースには多分これ含められない)

> [Promises: The Extension Problem (part 4) | getiblog](http://blog.getify.com/promises-part-4/) 関連

Service Workerまわりからこの辺の話が進みそう - https://esdiscuss.org/topic/cancelable-promises

Proposals - [domenic/cancelable-promise: Cancelable promises proposal for JavaScript](https://github.com/domenic/cancelable-promise) - [zenparsing/es-cancel-token: Cancel Tokens for ECMAScript](https://github.com/zenparsing/es-cancel-token) - [Cancelable promises - Google スライド](https://docs.google.com/presentation/d/1V4vmC54gJkwAss1nfEt9ywc-QOVOfleRxD5qtpMpc8U/edit#slide=id.gc6f9e470d_0_0)

[AbortController - Web APIs | MDN](https://developer.mozilla.org/en-US/docs/Web/API/AbortController "AbortController - Web APIs | MDN") fetch周りからやっとcancelに関する仕様がDOMに入った