我通过ejs
像这样渲染带有js的html页面
res.render('search', { data: videos, cookies: cookies });
和html
<div class="video" style="width: 600px; height: 100px; margin-left: auto; margin-right: auto;">
<% data.forEach((item, i, data) => {
let str = '<div class="row my-3"> <div class="col-4"><a href="http://www.youtube.com/embed/' + item.id + '?autoplay=1&fs=0&controls=1&modestbranding=1&showinfo=0&rel=0" target="_blank"><img src="' + item.img + '" alt="img" width="200" height="150"></a></div><div class="col-8"><p><a href="http://www.youtube.com/embed/' + item.id + '?autoplay=1&fs=0&controls=1&modestbranding=1&showinfo=0&rel=0" target="_blank" style="color: #000; text-decoration: underline;">' + item.title + '</a></p><p>' + item.viewCount + ' views</p>' + '<small style="font-weight: bold;"> ' + item.duration + '</small></div></div>'; %>
<%- str %>
<% }); %>
</div>
浏览器首先等待上面的代码加载然后加载页面,我必须等待2-6秒,然后我的页面才完全加载。如何异步呈现html和ejs代码?谢谢大家,对不起我的英语。