JS를 사용하여 xml 웹 서비스를 재귀 적으로 호출

올빼미 붙여 넣기

나는 지금까지 인터넷 검색이 나에게 아무것도 쓸모없는 논리와 구현에 대한 질문이 있습니다.

  • 한 번에 1,000 개의 결과를 제공 할 수있는 웹 서비스에 액세스해야합니다. 쿼리는 약 21,000 개의 결과를 반환 할 수 있습니다.
  • 웹 서비스를 제어 할 수 없으며 사용하기 만하면됩니다.
  • JS는 로컬 컴퓨터 또는 다른 웹 서버에서 실행됩니다 (즉, 데이터가있는 서버가 아님).

그래서 나는 그것을 호출하고 데이터를 구문 분석하는 작은 js 스크립트를 작성했습니다. 이제 내 문제는 동기 호출을 사용하여 작성했다는 것입니다 (예 : async : false). 이것은 많은 문제를 나타내며 일부는 다른 브라우저가 아닌 크롬에서만 작동하는 것처럼 보입니다.


그래서 내 질문은 다음과 같습니다.

비동기 호출을 만들고 결과를 구문 분석하는 논리를 어떻게 처리합니까? -전화를 끊을 때까지 결과가없고 나중에 결과가 나옵니다. 어떻게 적절하게 사용할 수 있습니까?

예를 들어 총 10,000 개의 결과를 얻고 서비스에서 한 번에 1,000 개만 반환하는 경우와 같이 몇 번 찔러야하는 웹 서비스를 사용하여 어떻게 그렇게 할 수 있습니까?

나는 문제의이 두 가지 측면에 대해 다소 혼란스럽고 어떤 도움을 주시면 감사하겠습니다. 나는 ajax와 cors를 사용하려고 시도했지만 둘 다 다양한 수준으로 작동하지만 두 번째 부분을 처리하는 방법을 이해하지 못합니다 (한 번에 결과의 일부만 가져옴).

원래 "Access-Control-Allow-Origin"으로 인해 async : true를 사용할 수 없다는 점을 감안할 때이를 위해 어떤 방법이 있습니까? 그리고 웹 서비스를 수정할 수 없습니다.


처리 구문 분석은 이미 처리되었으며 각 개별 xml 응답을 구문 분석하여 필요한 데이터를 추출하고 이후 단계에서 모두 처리합니다.

회신에 대한 의사 코드를 고맙게 생각할 것입니다. 저는 JS 학습으로 시작하기 때문에 할 수있는 모든 것을 알지 못합니다.

명령

약속 을 사용할 수 있습니다 .

// calls your web service asynchronously   
function request(page) {    
    return $.ajax({
        url: '/xml-service/',
        method: 'POST',
        dataType: 'json',
        data: {
            delay: 1,
            json: JSON.stringify(ret)
        }
    });
}

// retrieve all results recursively
function requestItems(page, items) {
    return request(page).then(function(data){
        if (data.currentPage > data.totalPage) {
            return items;
        } else {
            return requestItems(data.currentPage + 1, items.concat(data.items));
        }
    });
}

function requestAll(){
    return requestItems(1, []);
}

requestAll().done(function(items) {
    console.dir(items);
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

TypeTag를 사용하여 재귀 적으로 함수 호출

분류에서Dev

Play Scala : Await.result를 사용하지 않고 재귀 웹 서비스 호출

분류에서Dev

Play Scala : Await.result를 사용하지 않고 재귀 웹 서비스 호출

분류에서Dev

Java에서 DocumentTraversal을 사용하여 XML 요소를 재귀 적으로 탐색

분류에서Dev

자바 : 재귀 호출에서 원래 매개 변수를 사용하여 내 메서드를 재귀 적으로 호출하는 방법

분류에서Dev

XSLT를 사용하여 빈 xml 요소를 재귀 적으로 제거

분류에서Dev

다른 매개 변수를 사용하여 bash 스크립트를 재귀 적으로 호출

분류에서Dev

다른 매개 변수를 사용하여 bash 스크립트를 재귀 적으로 호출

분류에서Dev

여러 재귀 호출을 사용하여 일반 재귀를 꼬리 재귀로 변환

분류에서Dev

스크래피를 사용하여 재귀 적으로 웹 사이트 스크랩

분류에서Dev

Promise를 반환하는 비동기 함수를 재귀 적으로 호출

분류에서Dev

REST API를 사용하여 웹 서비스로 liferay 포틀릿 호출

분류에서Dev

웹 사이트를 PDF로 변환 (재귀 적으로)

분류에서Dev

재귀 적으로 비동기 함수를 호출하는 함수 대기

분류에서Dev

Prolog에서 증분기를 사용하여 각 재귀 호출을 추적

분류에서Dev

사용자 입력을 위해 함수를 재귀 적으로 호출

분류에서Dev

RESTful 웹 서비스를 원격으로 호출하는 방법

분류에서Dev

Url 인수를 사용한 동적 웹 서비스 호출

분류에서Dev

Volley를 사용하여 웹 서비스 호출

분류에서Dev

jax-ws에서 홀더를 매개 변수로 사용하여 웹 서비스를 호출하는 방법

분류에서Dev

findMatch를 재귀 적으로 호출하는 방법이 있습니까?

분류에서Dev

파이썬 함수는 이름을 저장하는 사전을 사용하여 서로를 재귀 적으로 호출합니다.

분류에서Dev

ActionListener를 사용하여 재귀 트리 메서드 호출

분류에서Dev

타입 스크립트에서 재귀 적으로 메서드를 호출하는 방법

분류에서Dev

Ruby를 사용하여 재귀 적으로 json 트리 구축

분류에서Dev

lodash를 사용하여 재귀 적으로 속성 값 수집

분류에서Dev

찾기를 사용하여 재귀 적으로 폴더 이동

분류에서Dev

POST로 AJAX 사용 웹 서비스를 호출하면 작동하지만 GET을 사용하면 항상 xml을 반환합니다.

분류에서Dev

스레드 메서드 (System.Threading)를 재귀 적으로 호출하는 것은 나쁜 습관입니까?

Related 관련 기사

  1. 1

    TypeTag를 사용하여 재귀 적으로 함수 호출

  2. 2

    Play Scala : Await.result를 사용하지 않고 재귀 웹 서비스 호출

  3. 3

    Play Scala : Await.result를 사용하지 않고 재귀 웹 서비스 호출

  4. 4

    Java에서 DocumentTraversal을 사용하여 XML 요소를 재귀 적으로 탐색

  5. 5

    자바 : 재귀 호출에서 원래 매개 변수를 사용하여 내 메서드를 재귀 적으로 호출하는 방법

  6. 6

    XSLT를 사용하여 빈 xml 요소를 재귀 적으로 제거

  7. 7

    다른 매개 변수를 사용하여 bash 스크립트를 재귀 적으로 호출

  8. 8

    다른 매개 변수를 사용하여 bash 스크립트를 재귀 적으로 호출

  9. 9

    여러 재귀 호출을 사용하여 일반 재귀를 꼬리 재귀로 변환

  10. 10

    스크래피를 사용하여 재귀 적으로 웹 사이트 스크랩

  11. 11

    Promise를 반환하는 비동기 함수를 재귀 적으로 호출

  12. 12

    REST API를 사용하여 웹 서비스로 liferay 포틀릿 호출

  13. 13

    웹 사이트를 PDF로 변환 (재귀 적으로)

  14. 14

    재귀 적으로 비동기 함수를 호출하는 함수 대기

  15. 15

    Prolog에서 증분기를 사용하여 각 재귀 호출을 추적

  16. 16

    사용자 입력을 위해 함수를 재귀 적으로 호출

  17. 17

    RESTful 웹 서비스를 원격으로 호출하는 방법

  18. 18

    Url 인수를 사용한 동적 웹 서비스 호출

  19. 19

    Volley를 사용하여 웹 서비스 호출

  20. 20

    jax-ws에서 홀더를 매개 변수로 사용하여 웹 서비스를 호출하는 방법

  21. 21

    findMatch를 재귀 적으로 호출하는 방법이 있습니까?

  22. 22

    파이썬 함수는 이름을 저장하는 사전을 사용하여 서로를 재귀 적으로 호출합니다.

  23. 23

    ActionListener를 사용하여 재귀 트리 메서드 호출

  24. 24

    타입 스크립트에서 재귀 적으로 메서드를 호출하는 방법

  25. 25

    Ruby를 사용하여 재귀 적으로 json 트리 구축

  26. 26

    lodash를 사용하여 재귀 적으로 속성 값 수집

  27. 27

    찾기를 사용하여 재귀 적으로 폴더 이동

  28. 28

    POST로 AJAX 사용 웹 서비스를 호출하면 작동하지만 GET을 사용하면 항상 xml을 반환합니다.

  29. 29

    스레드 메서드 (System.Threading)를 재귀 적으로 호출하는 것은 나쁜 습관입니까?

뜨겁다태그

보관