retry-axios icon indicating copy to clipboard operation
retry-axios copied to clipboard

Question: Network shutdown case

Open pravosleva opened this issue 3 years ago • 0 comments

Should request be retried when network disconnected? (No retries. Why?)

изображение

// api method:

async api({ url, data, cancelToken }: { url: string; data: any, cancelToken: CancelToken }): Promise<any> {
  const result = await this.axiosInstance({
    method: 'POST',
    url: `/chat/api${url}`,
    data,
    // mode: 'cors',
    cancelToken,
  })
    // .then((res: any) => res)
    .then(
      this.universalAxiosResponseHandler(({ data }) => {
        // console.log(data)
        return data?.ok === true || data?.ok === false // NOTE: API like smartprice
      })
    )
    .catch((err: any) => {
      if (axios.isCancel(err)) {
        console.log('Request canceled', err.message)
      } else {
        console.log(err)
      }
      return { isOk: false, message: err.message || 'No err.message', res: null }
    })

  // console.log(result) // { isOk: true, res: { ok: true, _originalBody: { username: 'pravosleva', chatId: 432590698 } } }

  if (result.isOk && !!result.res) {
    return Promise.resolve(result.res)
  }
  return Promise.reject(this.getErrorMsg(result))
}

pravosleva avatar Dec 29 '21 00:12 pravosleva