私の小さなプログラムでは、URL の短縮を解除してから、リンクが私のパターンに一致するかどうかを確認します。もしそうなら、私はそれをさらに処理したいと思います。しかし、以前に知られている 3 つのパラメーターも適用する必要があります。
私のコードは、3 つのパラメーターすべてを各関数にドラッグするのが非常にぎこちなく感じます。約束なしでこれを合理化するにはどうすればよいですか?
var request = require("request");
function expandUrl(shortUrl, a,b,c, callback) {
request( { method: "HEAD", url: shortUrl, followAllRedirects: true },
function (error, response) {
callback(response.request.href, a,b,c);
});
}
function checklink(unshortenedLink, a, b, c){
matches = unshortenedLink.match(/twitter\.com\/\w+/g);
if(matches){
matches.forEach(function(result){
process_twitter_link(result, a, b, c);
});
}
}
function process_twitter_link(link, a, b ,c ){
console.log(link + " " + a + " " + b + " " + c);
// std.out: twitter.com/StackJava param_a param_b param_c
}
expandUrl("https://t.co/W0DA8WVpmO", "param_a", "param_b", "param_c", checklink);