node.js モジュール async を勉強していますが、関数 async.retry に問題があります。
そのgithub docsによると、関数は成功するかチャンスがなくなるまでタスクを試行し続けます。しかし、タスクが成功か失敗かをどのように判断できるのでしょうか?
以下のコードを試しました:
var async = require('async');
var opts = {
count : -3
};
async.retry(5, function (cb, results) {
++this.count;
console.log(this.count, results);
if (this.count > 0) cb(null, this.count);
else cb();
}.bind(opts), function (err, results) {
console.log(err, results);
});
まで実行されることを期待していますcount === 1
が、常に次のように出力されます。
-2 undefined
undefined undefined
では、どうすれば関数を正しく使用できますか?