طرز استفاده از promise.race() در عمل چگونه می باشد؟
https://lamtakam.com/qanda/273/طرز-استفاده-از-promise-race-در-عمل-چگونه-می-باشد؟ 0همانطور که می دونید برای استفاده از promises
دو حالت وجود دارد:
promise.all()
promise.race()
من به خوبی می دونم که promise.all()
چطور عمل می کنه و چه موقع باید ازش استفاده کنم. در واقع به صورت موازی promise
ها رو اجرا می کنه و .then
مقادیر رو به شما میده زمانی که همه ی promise
ها به اتمام رسیدن. مثال:
Promise.all([
$.ajax({ url: 'test1.php' }),
$.ajax({ url: 'test2.php' })
])
.then(([res1, res2]) => {
// Both requests resolved
})
.catch(error => {
// Something went wrong
});
ولی واقعا نمی تونم متوجه بشم که promise.race()
چطوری کار می کنه و چه زمانی باید ازش استفاده کنم. به عبارت بهتر، دقیقا چه فرقی می کنه با زمانی که ازش استفاده نمی کنیم؟ مقدار رو بر می گردونه زمانی که چی؟ و دقیقا چه موقع کاربرد داره؟ (لطفا با ذکر مثال). مثلا این رو در نظر بگیرید:
$.ajax({
url: 'test1.php',
async: true,
success: function (data) {
// This request resolved
}
});
$.ajax({
url: 'test2.php',
async: true,
success: function (data) {
// This request resolved
}
});
مثلا من در کد بالا از promise.race()
استفاده نکردم و فکر می کنم دقیقا به همان شکلی داره رفتار می کنه که اگه استفاده می کردم. به هر حال مثال کوچیکی سراغ دارید که دقیقا چه موقع باید از promise.race()
استفاده بشه؟ با تشکر