タグ

2016年9月5日のブックマーク (9件)

  • ES7 の Async/Await を使ってみた - Qiita

    Taming the asynchronous beast with ES7 babel の experimental に ES7 の Async/Await が入ったというので、さっそく導入してみた。対象は画像を点字を変換するわりかしどうでも良いモジュール。 seurat - JavaScript utility to generate a braille text from an image 導入前 ファイル読み込みや画像の変換に非同期処理を多用しており、node.js スタイルの 非同期API(コールバックを渡すやつ) を prominence というユーティリティ関数で Promise 化していたが、行ごとに then が出てきたり、複数の値を渡すために Promise.all を使ったりと、あまり読みやすいとは言えないコードだった。(コールバック地獄になるよりはマシだと思うけど.

    ES7 の Async/Await を使ってみた - Qiita
  • ES2015のGenerator、および Async/Await を使った非同期処理について - Money Forward Developers Blog

    マネーフォワードでフロントエンドの開発者をしています大塔と申します。 今回は個人的にお世話になることの多いGeneratorおよび Async/Await を使って非同期処理を、同期処理っぽく書く方法について、記載させていただきたいと思います。 環境構築 webpackやrollupなど新しいバンドラーが出てきていますが、今回はECMAScriptのビルドにgulpを使います。またトランスパイラにはBabelを用います。 NodeJS 4.2.1 npm 2.14.7 Google Chrome 49.0.2623.112 (64-bit) ソースコード 今回作成したソースコードはすべてこちらからダウンロードできます。ソースコードのビルド方法や動かし方はお手数ですがリンク先をご覧ください。 package.json 必要となるパッケージを記述します。 { "name": "blog_sam

    ES2015のGenerator、および Async/Await を使った非同期処理について - Money Forward Developers Blog
  • ES async/awaitを全力で使ってみて発見したイディオム - Qiita

    // 注意: 最初のバージョン、async function がundefinedを返すと思い込んでて、色々間違えてた 手元の趣味コード(諸事情により未公開)に向けて全力で適用してみた結果学びがあった。以下babel。 事前に確認 async/await は Promise と Generator の糖衣構文である await は Promiseのインスタンスの式を与えると(見た目上)停止する await するには async functionで囲う必要がある async function は必ず非同期で実行され undefinedPromise を返す 以下イディオム とりあえず実行したい (async () => { await new Promise(done => { setTimeout(1000, done); }) })(); 解説: async ブロック作ってからの即時実行

    ES async/awaitを全力で使ってみて発見したイディオム - Qiita
  • JavaScriptは如何にしてAsync/Awaitを獲得したのか Qiita版 - Qiita

    はじめに JavaScriptは如何にしてAsync/Awaitを獲得したのか - がおさんち 技術部屋 ※事前に↑の記事は読まなくても大丈夫です という記事を、以前に個人ブログの方に書いたのですが、私も今年からはQiita始めたので、この記事をリファインして再度書いてみようと思います。 また、この記事では↑の記事では書ききれなかった話もいくつか増やしています。 例えば、不定回数実行されるPromiseの話だとか、非同期処理における例外処理周りの面倒くさい話だとか。 そういうちょっとだけ高度な話も混ぜつづ、前回書いたものよりもクオリティを上げるのを目標にします。それではいきます。 第一章 ~人類はsetTimeoutを採用しました~ 古代のJavaScriptで、以下のような処理をしたい場合、どうしていたでしょうか。 ブラウザ更新直後に『a』を表示し、その2秒後に『b』を表示し、更にその1

    JavaScriptは如何にしてAsync/Awaitを獲得したのか Qiita版 - Qiita
  • ES2017 async/await + Promise で解決できる事、とES2015(ES6) generators (yield) + Promise + npm aa (async-await) で解決できる事 - Qiita

    ES2017 async/await と Promise を使うと非同期処理をすごく簡単に処理できる。 とても便利なのだが、それだけでは、どうも機能が足りない様に見える。 この記事は... TL;DR ES2017 async/await を使っても、まだいろいろと課題は残ってるよ。 ES2015 (ES6) generators と npm aa (async-await) だと、より良い解決策があるよ。って話。 以下の図の様な非同期処理フローを考えてみる。 横軸は時間だ。左から右へ時間が流れていくものと考えて欲しい。 縦線は複数の処理を同期させたい、という意味だ。 ES2017 async/await 版のコード例を見てみよう。 'use strict'; //require('babel-polyfill'); // おまじない //require('regenerator').ru

    ES2017 async/await + Promise で解決できる事、とES2015(ES6) generators (yield) + Promise + npm aa (async-await) で解決できる事 - Qiita
  • Reduxでコンポーネントを再利用する - Qiita

    Reduxはとりあえず使えるようになった後の情報が少ないように感じています。よく出回っているサンプルコードは「Real World 〜」のような名前がついていたとしても、あくまで雰囲気を味わうために用意されたものに毛が生えた程度で、現実に起こる問題に対する回答や指針を示しているわけではありません。業務で使うことを検討するのであれば、プロダクトの成長と共にどうやってスケールしていくかイメージできないと導入に踏み切れないですよね。稿ではサンプルコードより大きな規模で開発していくために、Reduxにおけるコンポーネントの再利用について紹介します。 実現したいこと コンポーネントの再利用によってどのようなことを実現したいのかイメージしてもらうため、馴染みのあるアプリケーションの機能を具体例として挙げてみます。 Gmailで名前にマウスオーバーしたときに出るプロフィール情報 プロフィール画像の表示

    Reduxでコンポーネントを再利用する - Qiita
  • https://qiita.com/takizawa-hiroki/items/32d7805c0274dd335f60

  • redux-thunk と redux-saga の違い - bouzuya.hatenablog.com

    redux-thunk と redux-saga の違いについて @kuy に聞いた。 きっかけはこの Tweet だ。この Tweet からの会話で聞いている。 redux-thunkは使わない方がいい。あれはやばい。— Yuki Kodama (@kuy) 2016年5月7日 ぼくの両者の事前知識・経験としては、redux-thunk はすこし使った程度で、redux-saga は README を眺めた程度だ。どちらも非同期処理を含む副作用を処理できる redux の middleware という理解だ。ちなみに redux もすこし使った程度でしかなく、middleware をつくったことはない。 redux-thunk は Action Creator への引数をくるんだ closure "thunk" を redux で処理できるようにする middleware だ。 thun

    redux-thunk と redux-saga の違い - bouzuya.hatenablog.com
  • りだっくすさが(redux-saga)に入門する - wadackel.me

    Web アプリを構築したくて久し振りに React を触ってみると、前に少し触っていたのにすっかり忘れてしまっていました。圧倒的に記憶力が低いので、継続的に触っていないと中々覚えられません…。 今だと Angular2 がグイグイ来てたりしてますが、それよりも一度触ったことのある React+Redux を使った方が学習コストを抑えられるな、という訳で再度勉強中です。 改めて色々と調べていると、redux-sagaという Redux の Middleware が非同期処理を書きやすく出来るぞ!との事だったので、まずはシンプルなカウンターサンプルの実装をして感じを掴んでいきたいと思います。 最後の 参考 にもあげていますが、そもそも redux-saga とは一体何者なんだ?というところにおいて、以下の記事が大変参考になりました。 redux-saga で非同期処理と戦う - Qiita ま

    りだっくすさが(redux-saga)に入門する - wadackel.me