情報アイランド

「情報を制する者は世界を制す」をモットーに様々な情報を提供することを目指すブログです。現在はプログラミング関連情報が多めですが、投資関連情報も取り扱っていきたいです。

Node.jsで非同期的な処理の結果を標準出力に出力する

非同期的な処理の結果を標準出力に出力するにはasyncモジュールのasync.log関数やasync.dir関数を使用します。

async.log関数はconsole.log関数を使用して結果を標準出力に出力したい場合に使用し、async.dir関数はconsole.dir関数を使用して出力したい場合に使用します。

async.log(function (arg1, arg2, callback) {
    callback(null, 'xxx');
    //or
    callback(new Error('yyy'), null);
}, 'aaa', 'bbb');
async.dir(function (arg1, arg2, callback) {
    callback(null, 'xxx');
    //or
    callback(new Error('yyy'), null);
}, 'aaa', 'bbb');

第1引数に非同期コールバック関数を引数として受け取る関数を指定します。

第2引数以降に第1引数の関数に順番に渡す引数を指定します。

サンプルコード1

async-log.js

var async = require('async');

async.log(function (arg, callback) {
    setTimeout(function () {
        callback(new Error('this is error.'), null);
    }, 1000);
}, 'this is argument.');

async.log(function (arg, callback) {
    setTimeout(function () {
        callback(null, arg);
    }, 500);
}, 'this is argument.');

使用パッケージ

  • Async.js
    npm install asyncでインストールします。

実行結果

C:\work\node>node async-log.js
this is argument.
Error: this is error.
    at Timeout._onTimeout (C:\work\node\async-log.js:5:12)
    at tryOnTimeout (timers.js:224:11)
    at Timer.listOnTimeout (timers.js:198:5)

関連

pizyumi
プログラミング歴19年のベテランプログラマー。業務システム全般何でも作れます。現在はWeb系の技術を勉強中。
スポンサーリンク

-Node.js