BT

Node 7.6、async/awaitをデフォルトでサポート

| 作者: Sergio De Simone フォローする 18 人のフォロワー , 翻訳者 sasai フォローする 0 人のフォロワー 投稿日 2017年3月3日. 推定読書時間: 2 分 |

原文(投稿日:2017/02/27)へのリンク

Node.js 7.6がリリースされた。async/awaitサポートがデフォルトで有効になり、低メモリデバイスにおけるパフォーマンスが改善されている。

Node 7.6のasync/awaitサポートは、ChromiumのJavaScriptエンジンであるV8バージョン5.5にアップデートしたことによるものだ。これが意味しているのは、async/awaitはもはや実験的なものではないということだ。--harmonyフラグ(ほぼ完成しているけれどもV8チームがまだ安定していないと考える機能を有効にする)を指定しなくても使えるようになる。

async/awaitの一番のメリットは、非同期オペレーションのシーケンスをコールバックを通してネストする「コールバック地獄」を回避できることだ。

たとえば、コールバックを用いた2つの非同期オペレーションの処理は次のようになる。

function asyncOperation(callback) {
  asyncStep1(function(response1) {
    asyncStep2(response1, function(response2) {
        callback(...);
    });
  });
}

async/awaitを使うと、コードが簡素化されて、まるで同期オペレーションのシーケンスのように見える。

async function asyncOperation(callback) {
    const response = await asyncStep1();
    return await asyncStep2(response);
}

コールバック地獄を解決するもう一つの方法にPromiseがある。これはこれまでもJavaScriptで使えていた方法だ。Promiseを用いた場合、先ほどの例は次のようになる。

function asyncOperation() {
  return asyncStep1(...)
    .then(asyncStep2(...));
}

しかし、もっと複雑になると、Promisesを使うのはやっかいになる

また、V8 5.5ではヒープサイズおよびゾーンメモリ消費が改善され、V8 5.3と比較して、低メモリデバイスにおけるメモリフットプリントが最大35%削減されている。

その他の注目すべき変更点は以下の通り。

  • 古いCLIデバッガーnode debugが、新しいデバッガープロトコルnode --inspectに対して書き直された。V8の将来のバージョンでは、このプロトコルだけがサポートされる。
  • fsfile:プロトコルのサポートが追加された。これによりfs.readFile(URL('file:///C:/path/to/file');, (err, data) => {});と書けるようになる。

Node 7.6では、V8 5.5のほか、クロスプラットフォーム非同期I/Oライブラリのlibuv 1.11やzlib 1.2.11などの依存関係もアップデートされている。

 
 

Rate this Article

Relevance
Style
 
 

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT