情報アイランド

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

Node.jsで非同期的な処理を無条件に繰り返し実行する

非同期的な処理を無条件に繰り返し実行するにはasyncモジュールのasync.forever関数を使用します。

async.forever関数

var async = require('async');

async.forever(function (callback) {
    callback(null);
    //or
    callback(new Error('aaa'));
}, function (err) {
});

第1引数

第1引数に非同期的な処理を関数として指定します。

この関数の第1引数はコールバック関数です。

処理が完了した場合や処理の実行中にエラーが発生した場合には必ずこのコールバック関数を呼び出さなければなりません。

このコールバック関数の第1引数にはエラーオブジェクト(エラーが発生しなかった場合にはnull)を指定します。

第2引数

第2引数に処理の実行中にエラーが発生した場合に呼び出されるコールバック関数を指定します。

この関数の第1引数はエラーオブジェクトです。

この引数は指定しなくても構いません。

サンプルコード1

async-forever.js

var async = require('async');

async.forever(function (callback) {
    console.log('hello.');
    callback(null);
}, function (err) {
    if (err) {
        console.error(err);
        process.exit(1);
    }
    else {
        console.log('task never complete.');
    }
});

使用パッケージ

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

実行結果

C:\work\node>node async-forever.js
hello.
hello.
hello.
hello.
hello.
hello.
hello.
hello.
^C

関連

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

-Node.js