gdax交換のEthereum取引の開始から現在まで履歴データをポーリングするために使用したい機能があります。 100回結果をポーリングして(一度に最大許容)、mongodbに結果を挿入し、100を加えてから、すべての履歴データが得られるまで繰り返します。しかし、私が書いたことは、別の順序で実行されています。まず、forの中のすべての数字を合計し、すべてのhttp authedclientリクエストを実行します(各リクエストに100を加えた変数を適切に使用します)。そして、すべてのデータをmongodbにドロップします。私が抱えている問題は、データがmongodbクライアントに挿入されるまでに接続が閉じられることです。私はそれを私が望む順序で各操作を実行するためにどのように得ることができますか?ペーストビンは以下の通りです。私が使用するコードは、他のエラーに対応するために大幅に変更されていることに注意してください。insertループをinsertManyに変更しましたが、誰かが助けてくれれば適切に提案を統合できます。前もって感謝します。
https://pastebin.com/1BHi9RQVnode.js関数の操作順序に問題がある
var i = 100;
for (; i < 18750000;) {
publicClient.getProductTrades({ after: i }, function (err, response, data) {
if (err) {
console.log(err);
return;
}
MongoClient.connect(url, function (err, db) {
if (err) {
console.log(err);
return;
}
var myobj = { data };
for (item in data) {
db.collection("EthTest").insertOne(data[item], function (err, res) {
if (err) {
console.log(err);
return;
}
});
console.log(data[item].trade_id);
}
db.close();
});
});
i = i + 100;
};
また適切にリンクしてコードを投稿するには、スタックのアプリをダウンロードしました。モバイルサイトでは私にそれを許可しませんでした。ごめんなさい!
質問自体に関連コードを含めてください。一部の人がペーストビンにアクセスできない場合や、リンクが壊れる場合があります。ここで良い質問をしてください:https://stackoverflow.com/help/how-to-ask –
私は試してみましたが、私は自宅で、モバイルで編集します。コードツールバーにアクセスできないCtrl + kを押すこともできません – Superdawg