私は数ヶ月前にこの質問について少し質問しましたが、最近私はそのスクリプトに戻りました。私は何かを考え出し、友人がスクリプトを手助けしましたが、今は別の問題があります。Nodejs async.eachSeries
これが今の私のスクリプトです:
var j = schedule.scheduleJob('*/5 * * * * *', function(){
var steamids = [];
con.query("SELECT * FROM counterStrikeGlobalOffensive", function (err, rows) {
for (var i = 0; i < rows.length; i++) {
steamids.push(rows[i].steam64ID);
}
//const steamIDs = ["2342342341234123", "23423412341234", "2342314123423"]; // Steam IDs to check
eachSeries(steamids, (steamID, callback) => {
CSGOCli.playerProfileRequest(CSGOCli.ToAccountID(steamID));
CSGOCli.on("playerProfile", function(profile) {
console.log(JSON.stringify(profile, null, 2));
callback();
});
}, (err) => {
// error thrown = set, else we're done
});
});
});
私は一定のsteamIDsを使用する場合、それは完璧に動作しますが、私はsteamidsを使用する場合、それは私にエラーを与えます(私が説明します)...
。私がしたら、console.log(steamids); 「それが機能しない理由であってはならない数字の周りに多分」持っているので、そのほぼ一定SteamIDsと同じですが、一定それはこの
[ '76561198152643711', '76561198213530057' ]
私を返し、steamIDsは
const steamIDs = ["2342342341234123", "23423412341234", "2342314123423"];
です私が間違っている?
また、私はコールバック()を持っていますが、どうすればエラーになるのをやめさせることができますか? エラー:コールバックが既に呼び出されていました。
CSGOCli.on()
が複数回実行されるため、あなたはError: Callback was already called.
を得る
私の提案は、離れて非同期モジュールから移動し、 '非同期Await' –
いやでネイティブまたはブルーバード' Promises'を使用するようになりますそれは2日目のようにノードjを使用してからはあまりにも複雑です。 –