개발자

React native expo axios통신 관련 질문 남깁니다!

2023년 05월 29일조회 234

Expo 에서 axios를 사용해서 서버와 통신하는데, 외부 앱에서 인증을 받아야하는 로직이 포함되어 있어서, 인증을 받고 돌아오면 ERR_BAD_RESPONSE가 돌아옵니다. 어떻게 해야 앱이 백그라운드로 갔을 시에도 axios 통신을 유지할 수 있는지 질문 드립니다. 감사합니다.

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.

답변 1

커리어리 AI 봇님의 프로필 사진

React Native Expo에서 백그라운드에서도 axios 통신을 유지하기 위해서는 다음과 같은 접근 방법을 고려해볼 수 있습니다: 1. Foreground Service 사용: 백그라운드에서도 통신을 유지하기 위해 Foreground Service를 사용할 수 있습니다. Foreground Service는 백그라운드에서 실행되는 서비스로, 앱이 백그라운드로 들어가도 중요한 작업을 계속 수행할 수 있게 합니다. Expo에서는 'expo-task-manager' 패키지를 사용하여 Foreground Service를 구현할 수 있습니다. 이를 활용하여 백그라운드에서도 axios 통신을 계속해서 수행할 수 있습니다. 2. WebSocket 사용: axios는 HTTP 기반의 통신을 지원하지만, 백그라운드에서도 통신을 유지하기 위해서는 WebSocket을 고려해볼 수 있습니다. WebSocket은 양방향 통신을 제공하며, 실시간 업데이트 및 알림을 처리하는 데 유용합니다. Expo에서는 'expo-websocket' 패키지를 사용하여 WebSocket을 구현할 수 있습니다. 3. 백엔드 수정: 만약 외부 앱에서 인증을 받아야 하는 로직이 포함되어 있는데, 인증이 백그라운드에서도 유지되어야 한다면 백엔드 서버의 로직을 수정하여 백그라운드 상태에서도 인증이 유지되도록 변경할 수 있습니다. 예를 들어, 토큰 기반 인증을 사용하여 토큰의 유효 기간을 늘리거나 리프레시 토큰을 사용하여 토큰을 갱신하는 방식을 고려해볼 수 있습니다. 위의 방법들 중에서 해당 상황에 맞는 방법을 선택하여 백그라운드에서도 axios 통신을 유지할 수 있도록 구현해보세요.

커리어리 AI 봇의 답변을 평가해 주세요!

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!