gpt4 book ai didi

javascript - promise 完成后如何使用 setTimeout()?

转载 作者:行者123 更新时间:2023-11-29 10:56:10 25 4
gpt4 key购买 nike

我尝试在所有 promise 完成后将超时设置为 promise 函数,但它不起作用。查看我的代码。

function cashierPromise() {
return new Promise(function(resolve, reject) {
resolve();
});
}

function pharPromise() {
return new Promise(function(resolve, reject) {
resolve();
});
}


$(document).ready(function() {
$('#test1').click(function() {

Promise.all([cashierPromise(), pharPromise()])
.then(values => {
console.log('promise all')
setTimeout(cashierPromise, 5000);
setTimeout(pharPromise, 5000);
})
.catch(error => {
console.log(error.message)
});
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button type="button" id="test1" class="btn">TEST1</button>

是不是这样? [cashierPromise, pharPromise] -> All Done-> Re Call -> All Done -> Re Call

最佳答案

我的理解,我想你要达到的是这个。在一段时间后再次调用同一个函数。如果我错了,请纠正我。

$(document).ready(function () {
$('#test1').click(runPromise);
});

function runPromise() {
Promise.all([cashierPromise(), pharPromise()])
.then(values => {
console.log('promise all')
setTimeout(runPromise, 5000);
})
.catch(error => {
console.log(error.message)
});
}

关于javascript - promise 完成后如何使用 setTimeout()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56765319/

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