Sobes.tech

/ ** * Асинхронды функция жазу керек, * ол берілген миллисекундтар санында "ұйықтайды", * және содан кейін сәтті аяқталады * / function sleep(duration) { } // Мысал const startTime = Date.now(); console.log("ұйқыға кету басталды..."); sleep(2000).then(() => { console.log("2 секундтан кейін ояндым!"); console.log("Өткен уақыт: ", Date.now() - startTime); }); sleep(1000).then(() => { console.log("1 секундтан кейін ояндым!"); console.log("Өткен уақыт: ", Date.now() - startTime); });

139

Берілген синхронды функция және миллисекундпен уақыт. Осы функцияның жаңа нұсқасын қайтару керек, оның орындалуы берілген уақытпен шектелген. Егер функция берілген уақытта орындалса, промис алынған деректермен шешіледі. Егер орындалмаса, промис 'уақыт шегі өтіп кетті' деген жолмен қайтарылады.

139

Патчингте кіріктірілген объектілердің прототиптеріне жаңа әдістер қосуда қиындықтар бар ма?

139

runOnce-те apply әдісі не үшін қажет болуы мүмкін?

137

/ ** * sumPromises функциясын жүзеге асырыңыз, ол * промистерді аргумент ретінде қабылдайды және олардың орындалу нәтижелерінің сомасын қайтарады. * * функция кез келген санды аргумент қабылдай алады. * Кез келген Promise API-ларын қолдануға болады. */ // Код осында // Мысал қолдану const promise1 = Promise.resolve(1); const promise2 = Promise.resolve(2); sumPromises(promise1, promise2).then(console.log); // 3

136

/** * `asyncAuth(callback)` функциясы callback-ты қабылдайды, оған * қате (бірінші аргумент ретінде) және серверден алынған деректер * (екінші аргумент ретінде) берілуі мүмкін. * asyncAuth((қате, деректер) => {}); * * Сіз `auth()` функциясын жүзеге асыруыңыз керек, * ол `asyncAuth()`-ты шақырады, бірақ Promise қайтарады. * * @returns {Promise} */ function auth() { return new Promise((resolve, reject) => { asyncAuth((қате, деректер) => { if (қате) { reject(қате) } else { resolve(деректер) } }); }) } /** * `tryAuth()` функциясы `auth()`-ты пайдаланады және қате болған жағдайда, * N қосымша әрекет жасайды. * Барлық әрекеттер сәтсіз болса - соңғы қатені қайтарады * * @returns {Promise} */ function tryAuth(n) { }

135

[аты] суроо берди: Ойнчу MVP версиясын ишке ашыру канчага созду?

135

runOnce функциясын жүзеге асырыңыз, ол функцияны қабылдайды және жаңа функцияны қайтарады. Жаңа функция бір рет қана шақырылуы мүмкін, ал кейінгі шақырулар undefined қайтарады. Оралған функция аргументтерді қабылдауы және нәтиже қайтаруы мүмкін.

134

/* Барлық сандық мәндердің сомасын есептеу үшін функция жазу керек. Дұрыс сандық мәндерге бастапқы цифрлардан тұратын жолдар да кіреді. Бұл жағдайда сандық мән ретінде осы бастапқы цифрлар тізбегі пайдаланылады. Массив кез келген деректер типтерін қамтуы мүмкін және терең болуы мүмкін. ** .flat, .flatMap сияқты кіріктірілген әдістерді қолдануға болмайды** */ function sum(arr) { // ... } console.log(sum([1, 'x', '2x', ['3', ['x2', '5']]]));

130

Сіз жазған кодта ES6 стандартының қандай жаңа мүмкіндіктері пайдаланылады? arguments объектісі дегеніміз не және ол rest параметрлерінен қалай ерекшеленеді?

130

arguments-ті ескі әдіспен (ES5) массивке қалай түрлендіруге болады, Array.from және spread-операторын қолданбай?

130

Жоба бойынша қолданған архитектуралық тәсілдеріңіз туралы айтыңыз ба? Feature-Sliced Design (FSD) туралы білесіз бе?

129

[аты] суроо берди: Белгілі бір тапсырма бойынша жұмыс қалай ұйымдастырылды: оны кім әкеліп, қалай дайындады, бекіту процесі қалай өтті, іске асыру кезінде қандай сұрақтар туындады және оларды қалай шештіңіз?

128

Callback-интерфейсі бар asyncAuth функциясын жүзеге асырыңыз, ол Promise-ті қайтаруы керек. Содан кейін, asyncAuth-ты қолданатын және қателік болған жағдайда n қосымша әрекет жасайтын tryAuth(n) функциясын жүзеге асырыңыз. Барлық әрекеттер сәтсіз болса, ол соңғы қателікті қайтарады.

128

/* * Үш код бөлімдері берілген. Әрбір console.log-тың нәтижесін жазыңыз. */ var n = 1; function F(n) { n = 3; } F(n); console.log(n); var obj = { a: 1 }; function F1(o) { o.a = 5; } F1(obj); console.log(obj); var obj = { a: 1 }; function F2(o) { o = { hello: 1 }; } F2(obj); console.log(obj);

127

Функция withTimeout-ты жүзеге асырыңыз, ол функцияны және уақытты (миллисекундтар) қабылдайды және жаңа функцияны қайтарады. Егер бастапқы функция белгіленген уақыт ішінде орындалмаса, уәде қабылданбауы керек.

126

Функция сәтті орындалғаннан кейін тайм-аутты жоймасаңыз, не болады? Оны қалай түзетуге болады және кез келген жағдайда (сәтті және қате) тайм-аутты жою үшін қандай уәде әдісі қолайлы?

126

[аты] суроо берди: Қандай тест шеңбері қолданылды?

125

/** * `asyncAuth(callback)` функциясы callback-ты қабылдайды, оған * қате (бірінші аргумент ретінде) және * серверден алынған деректер (екінші аргумент ретінде) берілуі мүмкін. * asyncAuth((қате, деректер) => {}); * * Сіз `auth()` функциясын жүзеге асыруыңыз керек, * ол `asyncAuth()`-ты шақырады, бірақ Promise қайтарады. * * @returns {Promise} */ function auth() { // asyncAuth((қате, деректер) => {}); } /** * `tryAuth()` функциясы `auth()`-ты пайдаланады және қате болған жағдайда, * N қосымша әрекет жасайды. * Барлық әрекеттер сәтсіз болса - соңғы қатені қайтарады * * @returns {Promise} */ function tryAuth(n) { }

124

Егер байланыс жасау жылдамдығы мен орташа сессия ұзақтығы белгілі болса, ең көп бір уақытта жұмыс істейтін WebSocket байланыстарының санын қалай есептеу керек?

120
/7