#задачи



Арррр, мой друг!

После долгих размышлений за бутылочкой рома, я пришел к выводу, что что-то не в порядке с контентом в этом канале. Я недоволен тем, что здесь в последнее время почти только мемы и новости обо мне самом, а полезные статьи с Хабра и видео только иногда мелькают. Ну что же, давайте это исправим, мои морские волки!



Вот несколько заданий для вас команда!

1. Написать функцию, которая принимает число и возвращает промис, который резолвится через заданное количество секунд (равное переданному числу), передавая в качестве значения то же число. Например:

delayedResolve(5).then(value => console.log(value)) // после 5 секунд выведет 5 в консоль



2. Написать функцию, которая принимает массив чисел и возвращает промис, который резолвится с суммой этих чисел. Например:

sum([1, 2, 3, 4, 5]).then(value => console.log(value)) // выведет 15 в консоль



3. Написать функцию, которая принимает массив промисов и возвращает новый промис, который резолвится с массивом результатов каждого промиса в том же порядке, в котором были переданы промисы.

Кароч реализовать свой PromiseAll

Например:

 Promise.all([Promise.resolve(1), Promise.resolve(2), Promise.resolve(3)])

.then(values => console.log(values)) // выведет [1, 2, 3] в консоль

4. Написать функцию, которая принимает асинхронную функцию и возвращает новую функцию, которая будет вызывать переданную функцию с аргументами и возвращать промис с результатом выполнения этой функции.

const asyncFunc = async (value) => {

return new Promise(resolve => {

setTimeout(() => {

resolve(value * 2)

}, 1000)

})

}



const wrappedAsyncFunc = promiseWrapper(asyncFunc)



wrappedAsyncFunc(5).then(value => console.log(value)) // выведет 10 в консоль



Ребят контент в кайф?