# JavaScript#4
**[Проміси, async/await](https://uk.javascript.info/async)**
[Генератори, розширена ітерація](https://uk.javascript.info/generators-iterators)
**[Модулі](https://uk.javascript.info/modules)**
[Бульбашковий механізм (спливання та занурення)](https://uk.javascript.info/bubbling-and-capturing)
[DOMContentLoaded, load, beforeunload, unload](https://uk.javascript.info/onload-ondomcontentloaded)
**[Mutation Observer](https://uk.javascript.info/mutation-observer)**
**[Event loop](https://uk.javascript.info/event-loop)**
**[LocalStorage, SessionStorage](https://uk.javascript.info/localstorage)**
**[Fetch](https://uk.javascript.info/fetch)**
**[Fetch API](https://uk.javascript.info/fetch-api)**
**[Fetch Crossorigin](https://uk.javascript.info/fetch-crossorigin)**
## TypeScript
**[The Basics](https://www.typescriptlang.org/docs/handbook/2/basic-types.html)**
**[Everyday Types](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html)**
## Exercise
Перейти за посиланням: https://petstore3.swagger.io/
Створити js файл або відкрити будь який sandbox.
1. Виконати запити GET: /pet/findByStatus , GET: /pet/{petId} за допомогою fetch. Результат вивести в консоль (або записати в сторедж)
2. Створити нову тваринку POST: /pet . Перевірити чи створилась GET: /pet/{petId}
3. Заапдейтити нову траринку PUT: /pet. Перевірити чи заапдейтилась GET: /pet/{petId}
4. Заапдейтити через GET: /pet/{petId}
5. Зааплоадити картинку GET: /pet/{petId}/uploadImage
6. Видалити тваринку DELETE: /pet/{petId}
7. Для всіх запитів має бути error handling - помилки мають опрацьовуватись
** Base URL: https://petstore3.swagger.io/api/v3/