メモ書き
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が入っている //ここで処理 });
こうするのかなと思ったところで就寝。