JavaScript Promise.race() Yöntemi

Javascript Promise Race Yontemi



Promise.race() yöntemi, argüman olarak yinelenen vaatleri alan ve çözülen veya reddedilen ilk sözü döndüren yerleşik bir JavaScript yöntemidir. Promise.race() yöntemi, ya yerine getirme değerini ya da ret nedenini döndürür. Yinelenebilirler, Diziler, Dizeler ve Haritalar gibi döngülenebilen nesnelerdir.

Yine de vaatler nedir?

Asenkron kod, vaatlerle ele alınabilir. Yürütücü olarak bilinen bir işlevi parametre olarak alırlar. Bir söz oluşturulduğunda, yürütücü otomatik olarak eşzamansız olarak çalışır ve yerine getirilmesi durumunda bir değer döndürür, aksi takdirde ret nedenini döndürür:

izin ver example_promise = yenisöz ( ( çözmek, reddetmek ) => {
çözmek ( 'Söz verildi' ) ;
} ) ;

örnek_söz. sonra ( r => konsol. kayıt ( r ) ) ;







Sözlerin eşzamansız doğası:



izin ver example_promise = yenisöz ( ( çözmek, reddetmek ) => {
çözmek ( 'Söz verildi' ) ;
} ) ;

örnek_söz. sonra ( r => konsol. kayıt ( r ) ) ;
konsol. kayıt ( '1,2,3...' ) ;



Promise.race() Yöntemi nasıl kullanılır?

Promise.race() yöntemine yinelenebilir bir vaat iletin ve dönüş değerini değişkende alın:





balo1 izin ver = yenisöz ( ( çözmek, reddetmek ) => {
setZaman aşımı ( ( ) => çözmek ( 'Söz verildi' ) , 500 ) ;
} ) ;

izin ver balo2 = yenisöz ( ( çözmek, reddetmek ) => {
setZaman aşımı ( ( ) => reddetmek ( 'Söz çözülemedi' ) , 250 ) ;
} ) ;

ısıya izin ver = Söz vermek. yarış ( [ balo1, balo2 ] ) ;

sıcaklık tutmak ( sebep => konsol. kayıt ( sebep ) ) ;

Bu örnekte iki sözümüz vardı. İlk söz 500 ms sonra çözüldü ve ikinci söz 250 saniye sonra reddedildi. İkinci söz, çözülen veya reddedilen ilk söz olduğundan, Promise.race() yöntemi tarafından döndürüldü.



Promise.race() yöntemine iletilen argüman boş bir yinelenebilir ise, yöntem sonsuza kadar bekleyen bir söz verir:

ısıya izin ver = Söz vermek. yarış ( [ ] ) ;

konsol. kayıt ( sıcaklık ) ;

Yinelenebilir bağımsız değişken, önceden yerine getirilmiş veya reddedilmiş herhangi bir vaat dışı değere veya vaatlere sahipse, yöntem dizideki ilk değerle yetinecektir:

izin ver p1 = yenisöz ( ( çözmek, reddetmek ) => {
çözmek ( 'P1 çözüldü' ) ;
} ) ;

p2'ye izin ver = yenisöz ( ( çözmek, reddetmek ) => {
çözmek ( 'P2 çözüldü' ) ;
} ) ;

ısıya izin ver = Söz vermek. yarış ( [ p1,p2 ] ) ;
sıcaklık sonra ( değer => konsol. kayıt ( değer ) ) ;

Promise.race() yöntemi, hem çözülmüş hem de reddedilmiş vaatleri kontrol eder. Bu yöntemin aynı zamanda, yalnızca yerine getirilen sözleri kontrol etmek için kullanılabilecek Promise.any() yöntemi olan başka bir alternatifi vardır.

Çözüm

Promise.race() yöntemi, yinelenen bir vaatten yerine getirilen veya reddedilen ilk sözü almak için kullanılır. En erken yerine getirilen veya reddedilen söz, Promise.race()'in dönüş değeridir. Yazı, Promise.race() yöntemine ilişkin derinlemesine bilgi sağladı.