fibrous で 同期処理

fibrous を使うと コールバックを使わないと書けない非同期処理を同期処理的に書けて、コールバック地獄がきれいに書けて良い。

インストールは npm install fibrous でOK。

これを使うと例えば、 request で url の情報を取得するときは、以下のように書ける。

1
2
3
4
5
6
var request = require('request');
var fibrous = require('fibrous');
fibrous.run(function(){ // fibrous でラップしないといけない
var res = request.sync({url: requestUrl});
console.log(res.body);
});

スリープ的なのも書きやすい

1
2
3
4
5
6
7
8
9
10
function sleep(ms, cb){
setTimeout(function(){
cb(null);
}, ms);
}
fibrous.run(function(){
console.log('sleep');
sleep.sync(1000);
console.log('wake up');
});