メモ書き

tombloo のパッチを書きながらお勉強。tomblooでtumblrにpostする時、条件によりタグ付けしたい。また同時にタグへのリンクを付加したい - zaknakの日記の続き。基礎知識が徹底的に足りていない。Tumblr.getCurrentId() の使い方というか、非同期処理とか Deferred がわかってないので、

addAround(Tumblr.Photo,'convertToForm', function(proceed, args, target, methodName){
  var result;
    Tumblr.getCurrentId().addCallback(function(id){
//ここで前処理
        result = proceed(args);
    });
return result;
});

とかやって、callbackが完了するまで return させないにはどうしたらいいのか悩み続ける。これじゃ駄目で、ユーザーIDの取得を処理の流れに組み込まないといけない。ググったり、ソース見たりして、

addAround(Tumblr,'post', function(proceed, args, target, methodName){

    return Tumblr.getCurrentId().addCallback(function(id){
        args[0].tumblrId = id;
        return proceed(args);
    });
});

addBefore(Tumblr.Photo, 'convertToForm', function(ps) {
//ps.tumblrId にユーザーIDが入っている
//ここで処理
});

こうするのかなと思ったところで就寝。