ここでは、2秒ごとに自動実行するコードがあります。ただし、関数roll()の実行に要する時間は、インターネット接続のピークとボトムによって変化します。関数roll()が2秒ごとに自動的に実行されるようにしようとしていますが、コードは関数が完全に実行されてから自動的に実行されるまで待たなければなりません。Javascriptでコードをx秒ごとに実行する方法はありますが、関数が完全に実行される前に待ちますか?
P.S.この質問のより良いタイトルの提案は感謝します。
var init = 0.01
var start = init
var $odds = $("#oddsOverUnder")
var $button = $("#roll")
var $bet = $("#bet")
function roll() {
$bet.val(start)
$button.click()
setTimeout(function() {
var tr = document.querySelector("#myBetsTable tr:nth-child(2)")
var cls = tr.getAttribute('class')
if (cls === 'success'){
start = init
$bet.val(start)}
else{
start = start * 2
$bet.val(start)
$odds.click()}
$button.click();
setTimeout(function() {
$button.click();
},1000);
},1000);
}
setInterval(roll, 2000)
間隔を使用しないでください。長時間実行ルーチンの最後にsetTimeoutを呼び出します。 – dandavis
そしてループを使って何度も何度も自動実行されますか? – Recuvan
いいえ、ループは必要ありません。 'roll()'の一番下から 'setTimeout(roll、n)'だけ – dandavis