რა განსხვავებაა Promise.any და Promise.race შორის?
Frontend
* ფუნქცია იღებს არათანაბარ მასივს და აბრუნებს დაპირებას. * თუ გადაცემული დაპირებიდან რომელიმე გადაწყვეტილია (წარმატებით შესრულდა), მაშინ დაბრუნებული დაპირება გადაწყვეტილია ამ მნიშვნელობით. * თუ რამდენიმე დაპირება წარმატებით დასრულდა, მაშინ დაბრუნებული დაპირება * გადაწყვეტილია * პირველ წარმატებულ მნიშვნელობით, დამოუკიდებლად დაპირებების სიის წესის. * თუ ყველა გადაცემული დაპირება უარყოფილია, მაშინ დაბრუნებული დაპირება უარყოფილია AggregateError შეცდომით, რომელიც აგროვებს ყველა შეცდომას, დაპირებების წესის გათვალისწინებით. * AggregateError შეიძლება შექმნათ ასე: new AggregateError(errors, 'No Promise in any was resolved') function any(promises) { // თქვენი კოდი აქ }
რა მოხდება, თუ ერთ-ერთი დაპირება უარყოფილი იქნება sumPromises ფუნქციაში?
რა განსხვავებაა Promise.all და Promise.allSettled შორის?
რა მოხდება, თუ sumPromises ფუნქციას არცერთი დაპირება არ გადაეცემა?
რატომ არ შეიძლება შეცდომების დამატება ფუნქციაში any push-ის საშუალებით, არამედ უნდა იყოს ინდექსით დაწერილი?
რა მოხდება, თუ compose-ს ცარიელ ფუნქციების სია გადავეცი?
შეასრულეთ sumPromises ფუნქცია, რომელიც იღებს დაპირებებს არგუმენტებად და აბრუნებს მათი შედეგების ჯამს. ფუნქცია შეიძლება მიიღოს ნებისმიერი რაოდენობის არგუმენტი. ნებისმიერი დაპირების API-ს გამოყენება შესაძლებელია.
შეასრულეთ compose ფუნქცია, რომელიც იღებს ცვალებადი რაოდენობის ფუნქციებს და აბრუნებს ახალ ფუნქციას. თითოეული ფუნქციის შედეგი გადაეცემა შემდეგს.
შეასრულეთ isMonotonic ფუნქცია, რომელიც იღებს რიცხვების მასივს და განსაზღვრავს, არის თუ არა ის მონოტონური (ზრდადი ან მცირედი). თუ მასივი მონოტონურია, დააბრუნეთ true, წინააღმდეგ შემთხვევაში false. განახორციელეთ ლინეუტური სირთულე O(n).
რატომ შეიძლება დასჭირდეს apply მეთოდი runOnce-ის განხორციელებაში?
შენ იცნობ პაიპის ნიმუშს? რა განსხვავებაა მას compose-თან?
რომელი ვარიანტი იქნება სწრაფი: Promise.all თუ ციკლი with await თითოეულ ნაბიჯზე? რატომ?
შეასრულეთ runOnce ფუნქცია, რომელიც იღებს ფუნქციას და აბრუნებს ახალ ფუნქციას. ახალი ფუნქცია შეიძლება მხოლოდ ერთხელ გამოიძახოს, ყველა შემდეგი გამოძახება აბრუნებს undefined-ს. შეიძლება ჩაატაროს არგუმენტები და დაბრუნდეს შედეგი.
რატომ არის საჭირო rejectedCount გამოთვლილი? რატომ არ უნდა ვუყუროთ უბრალოდ errors-ის მასივის სიგრძეს?