개발 잘해지는 닉네임
243
2021-03-05 16:29:46
1
95

apollo useLazyQuery에서 콜백을 이용하는방법 없을까요?


onCompleted를 이용하여 다음과 같이 콜백을 지정하는 방법은 알고 있습니다.

const [func] = useLazyQuery(QUERY, {
  onCompleted: (res) => {
    // 콜백
  }
})


위와같이해도 당연히 동작은하는데, 예를들어 다음과 같은 동작을 구현함에 있어 코드가 너무 복잡해 집니다.

스크롤 위치 저장 -> 쿼리보냄 -> 결과받음 -> 스크롤위치 복원


위의 동작을 하나의 함수로 만들어 사용하고 싶은데 적절한 방법이 있을까요? onCompleted를 이용한방법은 도저히 떠오르지가 않네요

코드로 만들어보면 다음과 같이 만들고 싶습니다.

async function aaa() {
  saveScroll()
  await callLazyQuery({ ... })
  restoreScroll()
}



0
  • 답변 1

  • 브로콜리먹기
    154
    2021-03-07 01:35:17
    이미 코드로 만드신 것 같은데, 저렇게 하면 문제가 생기나요? 공식 문서상에서는 onComplete 함수 사용하는게 최선으로 보입니다
  • 로그인을 하시면 답변을 등록할 수 있습니다.