Using Javascript Async Instead Of Setinterval
Solution 1:
Your question is asking difference between settimeout and setinterval to achieve repetition, I feel here there is no relevance of asycn/await, you have just used it to avoid calling same function in setTimeout. Or you might say the relevance is async/await is doing, what setTimeout does, however as pointed by Ayush, you do not have any option to cancel the loop, which you get with setTimeout So following link might answer your curiosity. setTimeout or setInterval? Thanks
Solution 2:
The difference is that your interval functions returns a promise for when it is finished. You will need to add a return though so that it works properly:
asyncfunctioninterval() {
awaitnewPromise((res, req) => {
setTimeout(res, 1000)
})
update()
returninterval()
//^^^^^^
}
Now when update throws an exception, the promise is rejected and you can .catch() the error. Also the interval recursive calls would stop running, in contrast to the setInterval which would just continue.
Also async/await syntax has the advantage that you can avoid recursion to create loops:
asyncfunctioninterval() {
while (true) {
awaitnewPromise((res, req) => {
setTimeout(res, 1000)
})
update()
}
}
Post a Comment for "Using Javascript Async Instead Of Setinterval"