gpt4 book ai didi

javascript - 如何在不使浏览器滞后的情况下暂停 Javascript 的执行?

转载 作者:行者123 更新时间:2023-11-30 16:09:19 24 4
gpt4 key购买 nike

我有一个脚本可以更改一些值并单击浏览器中的一些按钮。我正在寻找一种方法来暂停代码的执行 x 秒而不会使浏览器滞后。我正在使用 Firefox,并将此脚本粘贴到它的控制台中。我知道 setTimeout() 函数。但是,此函数不会停止执行代码,而是等待 x 秒直到执行它。我正在寻找一个类似于 Python 的 time.sleep() 函数并完全暂停代码执行的完整解决方案。

var init = 0.01
var start = init
var $odds = $("#oddsOverUnder")
var $button = $("#roll")
var $bet = $("#bet")

function roll(){
$bet.val(start)
$button.click()
//i want to pause the execution of the code here//
$button.click()
//and here//
refreshIntervalId=setInterval(roll2, 2000)}

function roll2(){
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()}

clearInterval(refreshIntervalId)
roll()}

roll()

最佳答案

在 JavaScript 中没有与 Python 的 time.sleep() 等效的东西,它通常按设计异步执行。如果您想延迟代码的执行,您可以使用 setTimeout,正如您提到的那样。

在不确切了解您的代码应该做什么的情况下,我无法针对此问题提出理想的架构。肯定有比我将要建议的更好的方法。不过,要回答您的问题,您可以通过这种方式模拟您的问题:

function roll() {

$bet.val(start);
$button.click();

setTimeout(function () {
$button.click();
setTimeout(function () {
refreshIntervalId = setInterval(roll2, 2000);
}, 1000);
}, 1000);

}

关于javascript - 如何在不使浏览器滞后的情况下暂停 Javascript 的执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36508590/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com