# task
- here will be task
- MobX
- create react app
- typescript
# TASK
## Часть 1
У нас есть 3 url, возвращающие `number[]`
Выраженные примерно такими функциями:
```
async getA(): Promise<number[]> {
return new Promise((resolve) => {
setTimeout(() => {
resolve([
1, 1, 1, 1
]);
});
});
}
```
```
async getB(): Promise<number[]> {
return new Promise((resolve) => {
setTimeout(() => {
resolve([
2, 2, 2, 2
]);
});
});
}
```
```
async getC(): Promise<number[]> {
return new Promise((resolve) => {
setTimeout(() => {
resolve([
3, 3, 3, 3
]);
});
});
}
```
Массивы одинаковой длинны (для упрощения задачи)
Нужно написать объект состояния на mobx, с массивами `a`, `b`, `c`, `d`,
где `a`, `b`, `c` - данные полученные с функций приведённых выше (это как бы http запросы), а `d` это массив вычисляемый как `d[i] = a[i] * b[i]`
Состояние из mobx нужно render'ить в `App.tsx`, простым сопособом, как числа разделённые запятой:
```
a: 1, 1, 1, 1
b: 2, 2, 2, 2
c: 3, 3, 3, 3
d: 2, 2, 2, 2
```
## Часть 2
Добавить кнопку в UI, по нажатии на которую будет произведён запрос `getA`.
Мы предполагаем что состояние на сервере изменилось и в ответ сервер отдаст другой ответ, скажем `[5,5,5,5]`
И соответственно состояние в mobx должно обновится корректно. И в UI должны отобразится данные, по прежнему соответствующие приведённым выше правилам:
> `a`, `b`, `c` - данные полученные с функций приведённых выше (это как бы http запросы), а `d` это массив вычисляемый как `d[i] = a[i] * b[i]`
PS: Если есть вопросы - пишите