[javascript] axios + Promise.all & 지연 반복 처리

일단 axios를 함수로 묶어준다.

const getTweetList = async () => {
      try {
            const responseData = await axios.get(
                  "/php/get_tweetList.php"
            );
            return responseData;
      } catch (e) {
            throw e;
      }
};

그 다음 반복시킬 Promise.all 부분을 함수로 묶어준다.

const loopPromise = () => {
      Promise.all([getTweetList()])
            .then((values) => {
                  // 받은 데이터 처리 : 여기에서는 values[0].data

                  setTimeout(() => {
                        loopPromise();
                  }, 60000);
            })
            .catch((e) => {
                  // 에러 처리

                  setTimeout(() => {
                        loopPromise();
                  }, 2000);
            });
};

그 다음 필요한 부분에서 함수를 호출한다.

loopPromise();

Leave a Comment