Установите зависимости:
npm install
В файле src/Async.ts
выполните следующие задания:
-
Создайте функцию
mock
, которая принимает на вход аргументnumber
(количество миллисекунд) и возвращаетPromise
, который завершится через заданное количество миллисекунд со значением, переданным в аргумент. -
Перепишите функцию
getData
так, чтобы она выполнялась быстрее.
function getData(): Promise<number[]> {
const result: number[] = [];
return mock(100)
.then((data1) => {
result.push(data1);
return mock(200);
})
.then((data2) => {
result.push(data2);
return mock(300);
})
.then((data3) => {
result.push(data3);
return result;
});
}
- Исправьте функцию
catchException
так, чтобы блокtry/catch
обрабатывал завершенный с ошибкойPromise
и возвращал текст ошибки.
function catchException() {
try {
Promise.reject(new Error('my error'));
} catch (err) {
return err.message;
}
}
Проверить себя можно запустив команду npm run test
.
После выполнения задания создайте pull request с решением.