Я использую vanilla js для создания спа, и у меня возникла проблема с использованием async-await с картами.Моя страница выглядит так:
render: async () => {
let result = await getPostsList()
if (result.status == "success") {
let posts = result.data
let view = /*html*/`
<section class="section pageEntry">
<h1> Home </h1>
<div class="columns is-multiline" id="cards_container">
${await Promise.all(posts.map( (post) => Card.render(post)).join('\n ')) }
</div>
</section>
`
return view
} else {
console.log(result)
}
, а дочерний компонент:
render: async (post) => {
// console.log(post)
let view = /*html*/`
<div class="column is-half">
<article class="media">
<figure class="media-left">
<p class="image is-128x128">
<img src="https://bulma.io/images/placeholders/128x128.png">
</p>
</figure>
<div class="media-content">
<div class="content">
<p>
${post.title}
<strong>${post.author}</strong> <small>@johnsmith</small> <small>31m</small>
<br>
${post.content}
</p>
</div>
</div>
</article>
</div>
`
return view
Я понимаю, что для использования async-await с картой я должен использовать Promise.all.Однако при этом я получаю запятые между моими отдельными компонентами.
Если я использую .join ('') для удаления запятых, то это дает мне совершенно странный вывод.Если я пытаюсь соединиться с async-await на картах, я получаю что-то вроде