안녕하세요.
keywordSearch메서드를 1, 2, 3 페이지 각각 15개씩 호출하여 한 번에 45개의 장소를 배열에 담으려고 하는데 장소검색 함수가 콜백 함수다 보니 각 페이지 별 순서가 보장되지 않고 랜덤으로 배열에 담깁니다.
react로 구현중이며 다음과 같이 호출하고 있습니다.
- 1, 2, 3페이지에 해당하는 장소 검색 호출
ps.keywordSearch(keyword, searchPlaceCallback, { page: 1, bounds: bounds });
ps.keywordSearch(keyword, searchPlaceCallback, { page: 2, bounds: bounds });
ps.keywordSearch(keyword, searchPlaceCallback, { page: 3, bounds: bounds });
- 호출하는 콜백 함수
const searchPlaceCallback = (data: any, status: any, pagination: any) => {
if (status === kakao.maps.services.Status.OK) {
if (pagination.current > pagination.last) {
return;
}
setSearchedPlaces((selectedPlaces) => [...selectedPlaces, ...selectedPlacesSetter(data)]);
} else if (status === kakao.maps.services.Status.ZERO_RESULT) {
console.log('검색 결과가 존재하지 않습니다.');
setIsSearched(false);
return;
} else if (status === kakao.maps.services.Status.ERROR) {
console.log('검색 결과 중 오류가 발생했습니다.');
return;
}
};
1, 2, 3 페이지의 검색 결과를 순차적으로 보장받는 방법이 있을까요?