Есть следующий асинхронный код:
const checkGoodInCart = async (id) => {
try {
const response = await fetch(http://localhost:8000/cart);
const data = await response.json();
for (const item of data) {
if(item.id === id) {
return '<button>В корзине</button>'
} else {
return '<button>Добавить в корзину</button>'
}
}
} catch (e) {
console.log(e)
}
};
Он должен использоваться при рендере карточки товара, т.е. в него передается id товара который рендрится на данный момент, и функция должна сверять, если ли такой id в бд, если есть, тогда должен возвращать html
В корзине иначе
Добавить в корзину, но если я просто вызываю функцию при рендере
использую литералы при рендере
<div class="product__button__wrapper">
${checkGoodInCart(item.id)}
</div>
она возвращает промис, и вместо кнопки у меня написано [object Promise]
Подскажите как вернуть именно то, что указано в функции, т.е. строку с html
Я понимаю если мне нужен результат в консоль, то я пишу следующий код:
checkGoodInCart()
.then(result => console.log(result))
Но нужно чтобы функция возвращала нужное значение строкой
Если это невозможно, хотя у меня есть такие подозрения что это невозможно, то каким путем мне можно пойти