Batch 요청 만들기
저는 에어데스크라는 확장 프로그램을 만들고 있습니다. 새로운 기능을 만드는데 API 문서를 읽다가 이곳저곳 영어로 읽다보니 정리가 안 되는것 같아 통째로 번역했습니다. 번역은 크게 틀리진 않았을 겁니다만 혹시라도 이상한 부분을 찾으시면 댓글로 알려주세요!
첫번째 글: [번역] 구글 API 클라이언트 라이브러리 - 1
두번째 글: [번역] 구글 API 클라이언트 라이브러리 - 2
세번째 글: [번역] 구글 API 클라이언트 라이브러리 - 3
네번째 글: [번역] 구글 API 클라이언트 라이브러리 - 4
원문 링크:
자바스크립트 클라이언트 라이브러리는 한 번에 여러 API 요청을 위한 HTTP batch 요청을 지원합니다. batch와 관련된 메소드와 클래스는 링크를 참고하세요.
자바스크립트 클라이언트 라이브러리는 Batch라는 오브젝트를 정의합니다. 아래의 오브젝트를 통해 인스턴스화하여 시작할 수 있습니다.
Batch 오브젝트의 add 메소드를 사용해 각각의 HTTP 요청들을 추가합니다. add 메소드는 하나의 옵션 파라메터를 지원합니다.
예제:
Batch 요청은 gapi.client.Batch.then을 사용하여 실행됩니다. 개별 요청들을 실행하는 것과 같습니다.
Batch 프로미스가 fulfilled라면 응답 필드의 result는 batch response map을 포함합니다. 이 맵은 batch 안의 모든 요청에 대한 응답을 담고 있습니다. 키 값으로 위에서 나온 파라미터로 전달된 ID값 또는 랜덤 ID값을 포함합니다. API의 응답은 JSON 오브젝트로 파싱되어 값이 됩니다.
batch 안의 각각의 요청은 프로미스로 취급될 수 있습니다. 만약 then 메소드가 개별 요청에서 호출되면, 마치 개별 실행된 것처럼 프로미스는 fullfilled 또는 값을 가진 rejected 상태가 됩니다.
더 많은 응답 형태와 batch 프로미스 사용에 관한 정보는 프로미스 사용하기 섹션을 참고하세요.