lab 3 Promise.allSettled()
This commit is contained in:
parent
39c40a8add
commit
a4da7a569e
@ -3,7 +3,7 @@
|
|||||||
// адрес сервера
|
// адрес сервера
|
||||||
const serverUrl = "http://localhost:8081";
|
const serverUrl = "http://localhost:8081";
|
||||||
|
|
||||||
// обращение к серверу для получения всех типов авторов (get)
|
// обращение к серверу для получения списка авторов (get)
|
||||||
export async function getAllAuthors() {
|
export async function getAllAuthors() {
|
||||||
const response = await fetch(`${serverUrl}/authors`);
|
const response = await fetch(`${serverUrl}/authors`);
|
||||||
if (!response.ok) {
|
if (!response.ok) {
|
||||||
@ -21,6 +21,15 @@ export async function getAllCategories() {
|
|||||||
return response.json();
|
return response.json();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// обращение к серверу для получения списка авторов и категорий (get)
|
||||||
|
export async function getAllCategoriesAndAuthors() {
|
||||||
|
const categoriesPromise = getAllCategories();
|
||||||
|
const authorsPromise = getAllAuthors();
|
||||||
|
let responses = await Promise.allSettled([categoriesPromise, authorsPromise]);
|
||||||
|
responses = responses.map((response) => response.value);
|
||||||
|
return responses;
|
||||||
|
}
|
||||||
|
|
||||||
// обращение к серверу для получения всех записей (get)
|
// обращение к серверу для получения всех записей (get)
|
||||||
export async function getAllBooks() {
|
export async function getAllBooks() {
|
||||||
const response = await fetch(`${serverUrl}/books?_expand=categories&_expand=authors`);
|
const response = await fetch(`${serverUrl}/books?_expand=categories&_expand=authors`);
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
// модуль с логикой
|
// модуль с логикой
|
||||||
|
|
||||||
import {
|
import {
|
||||||
addBook, deleteLine, getAllCategories, getAllAuthors, getAllBooks, getBook, updateBook,
|
addBook, deleteLine, getAllCategoriesAndAuthors, getAllBooks, getBook, updateBook,
|
||||||
} from "./lines-rest-api";
|
} from "./lines-rest-api";
|
||||||
import {
|
import {
|
||||||
cntrls, createOption, createTableRow, imagePlaceholder,
|
cntrls, createOption, createTableRow, imagePlaceholder,
|
||||||
@ -10,13 +10,12 @@ import {
|
|||||||
|
|
||||||
// функция для заполнения списков авторов и категорий книг
|
// функция для заполнения списков авторов и категорий книг
|
||||||
async function drawSelects() {
|
async function drawSelects() {
|
||||||
const data = await getAllCategories();
|
const [categories, authors] = await getAllCategoriesAndAuthors();
|
||||||
const authors = await getAllAuthors();
|
|
||||||
cntrls.categoryInput.innerHTML = "";
|
cntrls.categoryInput.innerHTML = "";
|
||||||
cntrls.authorInput.innerHTML = "";
|
cntrls.authorInput.innerHTML = "";
|
||||||
cntrls.categoryInput.appendChild(createOption("Выберите значение", "", true));
|
cntrls.categoryInput.appendChild(createOption("Выберите значение", "", true));
|
||||||
cntrls.authorInput.appendChild(createOption("Выберите значение", "", true));
|
cntrls.authorInput.appendChild(createOption("Выберите значение", "", true));
|
||||||
data.forEach((category) => {
|
categories.forEach((category) => {
|
||||||
cntrls.categoryInput.appendChild(createOption(category.name, category.id));
|
cntrls.categoryInput.appendChild(createOption(category.name, category.id));
|
||||||
});
|
});
|
||||||
authors.forEach((author) => {
|
authors.forEach((author) => {
|
||||||
|
Loading…
Reference in New Issue
Block a user