Kuo skiriasi Promise.any nuo Promise.race?
Frontend
* Funkcija priima masyvą pažadų (tarkime, kad jis nėra tuščias) ir grąžina pažadą. * Jei kuris nors iš perduotų pažadų išsprendžiamas (sėkmingai įvykdomas), tada grąžinamas pažadas išsprendžiamas šia reikšme. * Jei keli pažadai sėkmingai užbaigiami, tada grąžinamas pažadas * su pirmuoju sėkmingu reikšme, nepriklausomai nuo pažadų tvarkos masyve. * Jei visi perduoti pažadai atmesti, tada grąžinamas pažadas atmestas su klaida tipo AggregateError, kuri sugrupuoja visas klaidas, atsižvelgiant į pažadų tvarką. * AggregateError galima sukurti taip: new AggregateError(errors, 'No Promise in any was resolved') function any(promises) { // jūsų kodas čia }
Kas nutiks, jei viena iš pažadų bus atmesta sumPromises funkcijoje?
Kas nutiks, jei į funkciją sumPromises nebus perduota jokia pažadas?
Kuo skiriasi Promise.all nuo Promise.allSettled?
Kodėl klaidos `any` funkcijoje negali būti pridėtos per push, o turi būti rašomos pagal indeksą?
Kas nutiks, jei compose perduosite tuščią funkcijų sąrašą?
Įgyvendinkite funkciją sumPromises, kuri priima pažadus kaip argumentus ir grąžina jų rezultatų sumą. Funkcija gali priimti bet kokį argumentų skaičių. Bet kurią pažadų API galima naudoti.
Įgyvendinkite compose funkciją, kuri priima kintamą skaičių funkcijų ir grąžina naują funkciją. Kiekvienos funkcijos rezultatas perduodamas kitai.
Įgyvendinkite funkciją isMonotonic, kuri priima skaičių masyvą ir nustato, ar jis yra monotoniškas (augantis ar mažėjantis). Grąžinkite true, jei masyvas yra monotoniškas, kitaip false. Įgyvendinkite su linijine sudėtingumu O(n).
Kodėl gali būti reikalingas metodas apply runOnce įgyvendinime?
Ar žinai pipe modelį? Kuo jis skiriasi nuo compose?
Kuris variantas bus greitesnis: Promise.all ar ciklas su await kiekviename žingsnyje? Kodėl?
Įgyvendinkite runOnce funkciją, kuri priima funkciją ir grąžina naują funkciją. Nauja funkcija gali būti iškviesta tik vieną kartą, visi vėlesni iškvietimai grąžina undefined. Įkapsuliuota funkcija gali priimti argumentus ir grąžinti rezultatą.
Kam reikalingas rejectedCount skaitiklis? Kodėl nereikėtų tiesiog žiūrėti į errors masyvo ilgį?