brunch

You can make anything
by writing

C.S.Lewis

by 한상훈 Jul 06. 2018

[번역] 구글 API 클라이언트 라이브러리 - 5

Batch 요청 만들기

저는 에어데스크라는 확장 프로그램을 만들고 있습니다. 새로운 기능을 만드는데 API 문서를 읽다가 이곳저곳 영어로 읽다보니 정리가 안 되는것 같아 통째로 번역했습니다. 번역은 크게 틀리진 않았을 겁니다만 혹시라도 이상한 부분을 찾으시면 댓글로 알려주세요!


첫번째 글: [번역] 구글 API 클라이언트 라이브러리 - 1

두번째 글: [번역] 구글 API 클라이언트 라이브러리 - 2

세번째 글: [번역] 구글 API 클라이언트 라이브러리 - 3

네번째 글: [번역] 구글 API 클라이언트 라이브러리 - 4


원문 링크:




Batch 요청 만들기

자바스크립트 클라이언트 라이브러리는 한 번에 여러 API 요청을 위한 HTTP batch 요청을 지원합니다. batch와 관련된 메소드와 클래스는 링크를 참고하세요.


Batch 생성

자바스크립트 클라이언트 라이브러리는 Batch라는 오브젝트를 정의합니다.  아래의 오브젝트를 통해 인스턴스화하여 시작할 수 있습니다.


var batch = gapi.client.newBatch();


Batch에 요청 추가하기

Batch 오브젝트의 add 메소드를 사용해 각각의 HTTP 요청들을 추가합니다.  add 메소드는 하나의 옵션 파라메터를 지원합니다.


예제:


Batch 실행하기

Batch 요청은 gapi.client.Batch.then을 사용하여 실행됩니다. 개별 요청들을 실행하는 것과 같습니다.


Batch 요청 프로미스

Batch 프로미스가 fulfilled라면 응답 필드의 result는 batch response map을 포함합니다. 이 맵은 batch 안의 모든 요청에 대한 응답을 담고 있습니다. 키 값으로 위에서 나온 파라미터로 전달된 ID값 또는 랜덤 ID값을 포함합니다. API의 응답은 JSON 오브젝트로 파싱되어 값이 됩니다.


개별 요청 프로미스

batch 안의 각각의 요청은 프로미스로 취급될 수 있습니다. 만약 then 메소드가 개별 요청에서 호출되면, 마치 개별 실행된 것처럼 프로미스는 fullfilled 또는 값을 가진 rejected 상태가 됩니다.


더 많은 응답 형태와 batch 프로미스 사용에 관한 정보는 프로미스 사용하기 섹션을 참고하세요.


매거진의 이전글 [번역] 구글 API 클라이언트 라이브러리 - 4
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari