javascript - 等待返回 addeventlistener 不能为空
问题描述
商业商店,我动态渲染了一个带有详细信息的网站,我想制作 corosuel,但是当我尝试在返回后添加第二个等待是不可能的时,我尝试了他们的方法,但我在控制台中收到此错误“addEvent Listener cant be null”
const ProductScreen = {
render: async () => {
const request = await parseRequestUrl();
const product = await getProduct(request.id);
if (product.error) {
return `<div>${product.error}</div>`;
}
return `
<div class="carousel">
<div class="carousel__item carousel__item--visible">
<img src="${product.image}" />
</div>
<div class="carousel__item">
<img src="${product.image2}" />
</div>
<div class="carousel__item">
<img src="${product.image3}" />
</div>
<div class="carousel__actions">
<button id="carousel__button--prev" aria-label="Previous slide"><</button>
<button id="carousel__button--next" aria-label="Next slide">></button>
</div>
</div>
`;
},
}
export default ProductScreen;
他们是滑块
let slidePosition = 0;
const slides = document.getElementsByClassName('carousel__item');
const totalSlides = slides.length;
document.
getElementById('carousel__button--next')
.addEventListener("click", function() {
moveToNextSlide();
});
document.
getElementById('carousel__button--prev')
.addEventListener("click", function() {
moveToPrevSlide();
});
function updateSlidePosition() {
for (let slide of slides) {
slide.classList.remove('carousel__item--visible');
slide.classList.add('carousel__item--hidden');
}
slides[slidePosition].classList.add('carousel__item--visible');
}
function moveToNextSlide() {
if (slidePosition === totalSlides - 1) {
slidePosition = 0;
} else {
slidePosition++;
}
updateSlidePosition();
}
function moveToPrevSlide() {
if (slidePosition === 0) {
slidePosition = totalSlides - 1;
} else {
slidePosition--;
}
updateSlidePosition();
};
你能给我任何建议我该怎么做吗?
解决方案
在应用第二个 await 之前,您需要等到第一个 await 给出响应。
推荐阅读
- python - AttributeError:类型对象“sklearn.tree._tree.TreeBuilder”没有属性“__reduce_cython__”
- r - 与决策树中的误分类率相关的查询
- java - 如何使用 Jackson 将地图转换为 POJO
- database - 我们如何从 h2 数据库中提取 blob 数据类型列的数据?
- python - 如何在sklearn的随机森林中获得决策函数
- mysql - 查询以从子表中获取不同的数据
- php - 包括刀片(导航刀片)未按预期工作,导航栏覆盖产量内容
- matlab - 使用 lsqcurvefit 将微分方程系统故障拟合到数据
- python - Celery Task 需要每 N 次运行一次但需要先完成
- python - Dash 应用程序在本地运行,因为它在服务器中引发错误