A relevant ad will be displayed here soon. These ads help pay for my hosting. Please consider disabling your ad blocker on Pony Foo. These ads help pay for my hosting. The article covers designing a JavaScript API to deal with asynchronous data inputs and outputs using generators to succinctly describe a set of operations. Promises can also be used to chain other operations after the output has be
Edit · Dec 21, 2014 · 5 minutes read · Follow @mgechev ES6 ES7 JavaScript ES6 generators have landed in Chrome 39 Beta on 9th of October and are already available in the stable version. This means that brand new development practices are already applicable, although for supporting older browsers you might need to fallback to the traceroute compiler. A cool module, which TJ developed, called co, is
Promise API Overview Constructor var promise = new Promise(function(resolve, reject) { /* (非同期)処理 */ }); Instance Method promise.then(onFulfilled, onRejected); promise.catch(onRejected); Static Method Promise.all() 、 Promise.resolve() などの便利メソッド系 Promiseのキホン的な流れ function asyncFunction() { return new Promise(function (resolve, reject) { setTimeout(function () { resolve('Async Hello world'); }, 16);
tl;dr サンプルコードを付けたら記事がかなり長くなってしまったのでご注意下さい。 Node.jsの current master で V8がアップデートされ ES6の Promise が使えるようになりました(要オプションですが)。Promise を使うと Node.jsの非同期処理がどのようになるのか、Stream と Promise を組み合わせた使い方なども含めて紹介します。 1. はじめに Nodeの次期安定版 v0.12は、すぐ出ると言われながら既に v0.10のリリースから1年が過ぎてしまいました。 現在、v0.12の主要な新機能の実装は完了していますが、まだ安定版のリリースに向けて手当できていない部分が残っている感じです。そんな残っている部分の一つだった V8 のアップデートが先週末に行われました。 deps: update v8 to 3.24.40 (3/19現在は
※ async.js が嫌いな訳ではありません。今までお世話になっていました。 Node.js v0.12 から Promise が標準で使えるようになったので async.js の parallel や series で行っていたことを Promise で実現しよう!という趣旨です。 parallel (並列実行) var count = 0; function echo() { var cnt = count++; return new Promise(function (resolve, reject) { setTimeout(function () { console.log(cnt); resolve(cnt); }, Math.random() * 1000); }); } var promises = [echo(), echo(), echo()]; Promise.al
先に言っておくと疑問文で終わる雑な記事です。 Promise、正常系の処理は比較的簡単に書けるのだけど、何か間違いがあったときに Promise 自体のエラーハンドリングが強力すぎて良く分からなくなる。 readFile というファイルを読み込む Promise ベースの良くできた関数があるとして、 読み込んだファイルを処理するとき readFile("foo.txt").then(function(text) { doSomething(text); }); ファイルが読み込めない場合を想定するとき readFile("not-found.txt").then(function(text) { doSomething(text); }, function() { readFailed(); }); この時、catch を使うのは良くなくて、ファイルの読み込みは成功したのに readFai
Promise オブジェクトは、非同期処理の完了(もしくは失敗)の結果およびその結果の値を表します。 プロミスの挙動と使用法について学ぶには、最初にプロミスの使用をお読みください。 プロミス (Promise) は、作成された時点では分からなくてもよい値へのプロキシーです。非同期のアクションの成功値または失敗理由にハンドラーを結びつけることができます。これにより、非同期メソッドは結果の値を返す代わりに、未来のある時点で値を提供するプロミスを返すことで、同期メソッドと同じように値を返すことができるようになります。 Promise の状態は以下のいずれかとなります。 待機 (pending): 初期状態。成功も失敗もしていません。 履行 (fulfilled): 処理が成功して完了したことを意味します。 拒否 (rejected): 処理が失敗したことを意味します。 待機状態のプロミスの 最終
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く