Javascript 等待返回addeventlistener can';不能为空

Javascript 等待返回addeventlistener can';不能为空,javascript,async-await,return,Javascript,Async Await,Return,commerce shop和我动态渲染一个站点,其中包含详细信息产品我想制作Corosel,但当我尝试添加第二个等待返回时不可能,我尝试了他们的方法,但我在控制台中遇到此错误“addEvent Listener不能为null” 您能给我一些建议吗?我想怎么做?您需要等到第一次等待给出响应后再应用第二次等待。您的错误是,您正在尝试在事件呈现到页面之前绑定事件。没有看到ProductScreen render和代码之间的相互关系,这是一个猜测游戏。可能相关:wait是继续代码之前等待的内容。可能尝试

commerce shop和我动态渲染一个站点,其中包含详细信息产品我想制作Corosel,但当我尝试添加第二个等待返回时不可能,我尝试了他们的方法,但我在控制台中遇到此错误“addEvent Listener不能为null”


您能给我一些建议吗?我想怎么做?

您需要等到第一次等待给出响应后再应用第二次等待。

您的错误是,您正在尝试在事件呈现到页面之前绑定事件。没有看到ProductScreen render和代码之间的相互关系,这是一个猜测游戏。可能相关:
wait
是继续代码之前等待的内容。可能尝试在返回HTML@Michal Widawski后添加EventListeners
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();
  };