Node.jsでプロミスにディレイを付加する
プロミスとは?
プロミスとは プロミスとは非同期的な処理を表すオブジェクトです。 非同期的な処理を表す古典的な方法には非同期コールバック関数がありました。あるいは、非同期イベントがありました。 非同期コールバック関数とは?非同期イベントとは?Node.jsにおける非同期的な処理の表現Node
プロミスにディレイを付加するにはp.delay
関数を使用します。
p.delay
関数は下のプロミスクラスで提供されています。
bluebird
クラスq.Promise
クラスwhen.promise
クラス
var p = p.delay(1000);
第1引数にディレイ時間をミリ秒単位で指定します。
返り値としてプロミスが得られます。
サンプルコード1
bluebird-promise-delay.js
var bluebird = require('bluebird');
var util = require('util');
var p1 = bluebird.resolve(1000).delay(1000);
var p2 = bluebird.resolve(2000).delay(2000);
var p3 = bluebird.resolve(3000).delay(3000);
var p4 = bluebird.resolve(4000).delay(4000);
var p5 = bluebird.resolve(5000).delay(5000);
p1.done(function (result) {
util.log(result + " ms.");
}, function (err) {
console.error(err);
});
p2.done(function (result) {
util.log(result + " ms.");
}, function (err) {
console.error(err);
});
p3.done(function (result) {
util.log(result + " ms.");
}, function (err) {
console.error(err);
});
p4.done(function (result) {
util.log(result + " ms.");
}, function (err) {
console.error(err);
});
p5.done(function (result) {
util.log(result + " ms.");
}, function (err) {
console.error(err);
});
使用パッケージ
- Bluebird
npm install bluebird
でインストールします。
実行結果
C:\work\node>node bluebird-promise-delay.js
14 Aug 17:34:54 - 1000 ms.
14 Aug 17:34:55 - 2000 ms.
14 Aug 17:34:56 - 3000 ms.
14 Aug 17:34:57 - 4000 ms.
14 Aug 17:34:58 - 5000 ms.
関連

スポンサーリンク