RequestAnimationFrame 자동 반복()

1955 단어
우리는 requestAnimationFrame() 있지만, 그것은 setTimeout() 와 같다. 우리는 그것을 계속 불러야 한다.
우리가 더 비슷한setInterval() 것을 가질 수 있을까? 우리가 그것을 설정하고 잊어버릴 수 있을까?
우리는 자체 프로그램을 작성할 수 있습니다.
        function requestAnimationFrameRepeat(fn) {
          let continueToUpdate = true;

          function updater() {
            if (continueToUpdate) {
              fn();
              requestAnimationFrame(updater);
            }
          }

          requestAnimationFrame(updater);

          return function () {
            continueToUpdate = false;
          };
        }
따라서 우리는 한 번만 호출하지 않고 requestAnimationFrame(ourUpdateFunction) 함수를 호출할 수 있다.
그리고 requestAnimationFrameRepeat(ourUpdateFunction)는 JS 엔진이 화면에 표시된 내용을 업데이트할 때마다 자동으로 호출됩니다.
우리가 그것을 멈추기를 원할 때, stopTheUpdateFn 호출 ourUpdateFunction 을 통해서만, 다음 업데이트가 실행되지 않기 때문에, 즉시 멈추게 됩니다.

좋은 웹페이지 즐겨찾기