gpt4 book ai didi

javascript - 如何停止处理直到 setTimeout() 完成?

转载 作者:行者123 更新时间:2023-11-28 17:59:27 25 4
gpt4 key购买 nike

请假设:

setTimeout(function(){
console.log('one');
}, 3000);

console.log('two');

我想在控制台中先打印 one,然后打印 two。当前代码首先打印 two

如何停止处理,直到 setTimeout() 完成?

注意到,我想执行一次setTimeout()。不是每 3 秒一次。

<小时/>

这是我的真实代码:

var arr = ['mohammad', 'ali', 'zahra', 'fatemeh'],
res = [],
status = true;

function myfunc() {
if (status == true) {
alert('test');
console.log('Engine started fetching a new one!');
status = false;
$('.im_dialogs_search_field').val(arr[0]);
$('.im_dialogs_search_field').trigger('change');
setTimeout(function() {
if ($('li.im_dialog_wrap').length) {
res.push($(this.find('.im_dialog_photo').attr('src')));
} else {
console.log('There is no result for ' + arr[0]);
status = true;
}
}, 3000);
arr.shift();
} else {
console.log('Engine is bussy!');
}
}

当我调用myfunc()函数时,它总是抛出Engine is busy!。怎么了?

最佳答案

setTimeout(function(){
console.log('one');
afterTimeout();
}, 3000);

function afterTimeout(){
console.log('two');
}

希望这有帮助。

关于javascript - 如何停止处理直到 setTimeout() 完成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43839826/

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