blog.bouzuya.net

2014-02-13 node-hatena-graph-api@0.1.0をつくった

bouzuya/node-hatena-graph-api@0.1.0をつくった。昨日書いたpromiseパターンの内容を実践してみたところ。

やっぱりこれで良いと思う。kriskowal/qに依存してしまうけど、それは気にしなくても良いと思う。さらに何かに依存してるとかもないしね。やろうと思えば0.0.1のものをpromiseパターンでwrapできるだろうけど、そんなことをユーザーにさせるよりも利便性をとりたい。一部のインタフェースを気にいってなかったので、手を入れれてちょうど良い感じ。

qをつかって今回みたいのをつくる場合は、次の例みたいにするだけだし、そんなに難しくない。

var q = require('q');
var fn = function() {
  var deferred = q.defer();
  doSomething(function(err, result) {
    if (err) {
      deferred.reject(err);
    } else {
      deferred.resolve(result);
    }
  });
  return deferred.promise;
};