Promise.any мен Promise.race айырмашылығы неде?
Frontend
* Функция промис массивын қабылдайды (бос емес деп есептейміз) және промис қайтарады. * Егер берілген промистердің біреуі резолвтталса (сәтті орындалса), онда қайтарылатын промис сол мәнмен резолвтталады. * Егер бірнеше промис сәтті орындалса, онда қайтарылатын промис * алғашқы сәтті мәнмен резолвтталады, промистердің массивтегі тәртібіне қарамастан. * Егер барлық берілген промистер реджекттелсе, онда қайтарылатын промис AggregateError қатесімен реджекттеледі, ол барлық қателерді топтастырған, промистердің тәртібін ескере отырып. * AggregateError-ды былай жасауға болады: new AggregateError(errors, 'No Promise in any was resolved') function any(promises) { // сіздің кодыңыз мұнда }
Неге 'any' функциясындағы қателерді push арқылы қосуға болмайды, және оларды индекс арқылы жазу керек?
Егер sumPromises функциясына ешқандай уәделер берілмесе, не болар еді?
Егер sumPromises функциясында бір уәде қабылданбаса, не болар?
Promise.all және Promise.allSettled арасындағы айырмашылық неде?
Егер compose-ке бос функция тізімін берсеңіз, не болады?
Келісімдерді қабылдайтын және олардың орындалу нәтижелерінің сомасын қайтаратын sumPromises функциясын жүзеге асырыңыз. Функция кез келген санды аргументтерді қабылдай алады. Кез келген келісім API-ларын пайдалана аласыз.
Функция compose-ты жүзеге асырыңыз, ол өзгермелі функцияларды қабылдайды және жаңа функцияны қайтарады. Әр функцияның нәтижесі келесіге беріледі.
Монотонды екенін анықтайтын функцияны жүзеге асырыңыз, ол сан массивін қабылдайды және монотонды ма (өсу немесе кему). Егер монотонды болса, true қайтарыңыз, әйтпесе false. Оны сызықтық күрделілікпен O(n) жүзеге асырыңыз.
runOnce жүзеге асырғанда apply әдісі не үшін қажет болуы мүмкін?
Pipe паттерні туралы білесіз бе? Ол compose-дан қалай ерекшеленеді?
runOnce деген функция-орауышты жүзеге асырыңыз, ол функцияны қабылдайды және жаңа функцияны қайтарады. Жаңа функция тек бір рет шақырылуы мүмкін, барлық келесі шақырулар undefined қайтарады. Оралатын функция аргументтерді қабылдауы және нәтиже қайтаруы мүмкін.
Қай нұсқа жылдамырақ болады: Promise.all қолдану ма, әлде әр қадамда await бар цикл қолдану ма? Неліктен?
Неге rejectedCount санағышы қажет? Неге тек errors массивінің ұзындығына қарамаймыз?