NodeJS-여러 요청을 보내고 하나의 콜백으로 모든 응답을 처리합니다.

이스마일 H

여러 요청 (Express 사용)을 보내고 하나의 기능으로 모든 응답을 처리하는 방법을 찾으려고합니다.

내 코드는 다음과 같습니다.

  // In router.js
  app.get('/api/FIRST_PATH', CALLBACK_FUNCTION_A );

 // In CALLBACK_FUNCTION_A file :
 module.exports = function (req, response) {
   CALLBACK_FUNCTION_TO_SERVICE_A();
   CALLBACK_FUNCTION_TO_SERVICE_B();
   CALLBACK_FUNCTION_TO_SERVICE_C();
}

내 문제는 CALLBACK_FUNCTION_TO_SERVICE_A, CALLBACK_FUNCTION_TO_SERVICE_B 및 CALLBACK_FUNCTION_TO_SERVICE_C 요청을 보낸 다음 다른 함수에서 모든 결과를 검색하여 처리하는 것입니다.

어떤 도움이라도 대단히 감사하겠습니다.

코요테 508

새로운 js 표준에 대해 자세히 알아보고 Promise.

// In CALLBACK_FUNCTION_A file :
module.exports = function (req, response) {
   var promises = [CALLBACK_FUNCTION_TO_SERVICE_A(), 
      CALLBACK_FUNCTION_TO_SERVICE_B(),
      CALLBACK_FUNCTION_TO_SERVICE_C()];

   Promise.all(promises).then( function(results) {
       //results is an array
       //results[0] contains the result of A, and so on
   });
}

물론 객체 CALLBACK_FUNCTION_TO_SERVICE_A()를 반환해야 Promise합니다. 다음과 같은 함수를 형성합니다.

function asyncFunction(callback) {
   //...
   callback(result);
}

다음과 같이 Promise를 생성 할 수 있습니다.

var p = new Promise(asyncFunction);

기능 실행을 시작하고 Promise 인터페이스를 지원합니다.

예를 들어 다음을 사용 request-promise하거나 다음과 같이 할 수 있습니다.

function CALLBACK_FUNCTION_TO_SERVICE_A() {
   var worker = function(callback) {
       app.get('/api/FIRST_PATH', callback);
   };

   return new Promise(worker);
}

Promise오류를 쉽게 처리하는 방법에 대해 자세히 읽을 수 있습니다 .

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

여러 비동기 API 요청을 보내고 응답을 병렬로 처리하는 적절한 방법은 무엇입니까?

분류에서Dev

하나의 작업자에게 모든 요청을 보내는 NodeJS 클러스터링 (Windows)

분류에서Dev

Twilio를 사용하여 SMS를 보내고 전화에서 응답을 기다렸다가 NodeJS에서 요청을 완료하는 방법

분류에서Dev

알림에서 사용자 응답을 받고 앱으로 다시 보내는 Android의 모든 옵션

분류에서Dev

하나의 열을 기준으로 모든 열을 평균화하고 NA를 처리합니다.

분류에서Dev

Axios 및 Express : Express에 요청을 보내고 여러 단계로 응답 받기

분류에서Dev

외부 API의 요청을 결합하고 Flask에서 응답으로 보내는 방법

분류에서Dev

모든 함수가 실행을 완료했는지 확인하고 NodeJS에서 응답을 보내는 방법은 무엇입니까?

분류에서Dev

클라이언트에게 응답을 보내고 전체 기능을 즉시 종료하고 다음 콜백으로 돌아 가지 않는 방법

분류에서Dev

AJAX 요청을 콜백하여 호출자에게 응답을 반환합니다.

분류에서Dev

루프로 메일을 보내고 모든 이메일이 전송 된 후에 응답을 출력합니다.

분류에서Dev

프로젝트의 모든 디렉토리 내에서 여러 파일 이름을 바꾸려고합니다.

분류에서Dev

Android는 내부 라이브러리 인터페이스 콜백을 사용하여 동기 요청을 비동기로 변환합니다.

분류에서Dev

JAVASCRIPT 카테고리를 기반으로 여러 속성을 그룹화합니다. 모든 속성이 아닌 하나의 속성에만 적용

분류에서Dev

Cypress가 여러 요청을 보내고 로그인을 허용하지 않습니다.

분류에서Dev

NodeJS : '집계'(커서) 개체를 CSV로 변환하고 Express를 사용하여 요청에서 CSV 응답을 반환하는 방법은 무엇입니까?

분류에서Dev

CloudFront 및 Amazon S3 또는 다른 CDN을 사용하여 모든 유사한 요청을 하나의 정적 파일로 보낼 수 있습니까?

분류에서Dev

응답을 기다리지 않고 HTTPBuilder로 POST 요청 보내기

분류에서Dev

C에서 응답을 기다리지 않고 프로브 요청 보내기

분류에서Dev

Puppeteer : API 요청을 재정의하고 다른 패키지없이 모의 데이터로 응답

분류에서Dev

콜백 함수를 사용하여 가져 오기 요청의 응답을 사용할 수 없습니다.

분류에서Dev

Django를 서버로 사용하여 단일 요청에 간격으로 여러 응답을 보낼 수 있습니까?

분류에서Dev

콜백이 필요하면 nodejs에서 여러 값을 반환합니다.

분류에서Dev

CodeIgniter 및 PHPExcel을 사용하여 ajax 응답에서 파일 다운로드를 처리하는 모든 방법

분류에서Dev

모든 요청을 하나의 컨트롤러로 리디렉션하는 방법

분류에서Dev

.Htaccess 파일의 URL에 나타나지 않고 모든 요청을 CGI 스크립트로 보내는 방법은 무엇입니까?

분류에서Dev

어떻게하면 사용자의 입력을 받아 않고 ArrayList에 성공적으로 보관? 그럼 내가 어떻게 내 프로그램이 나에게 ArrayList에있는 모든 요소를 보여주기 위해 어떻게해야합니까?

분류에서Dev

.htaccess-디렉토리 내의 요청과는 별도로 모든 트래픽을 다른 사이트로 리디렉션하고 WWW도 추가합니다.

분류에서Dev

Python Pandas : 하나의 열로 그룹화하고 모든 열의 내용을 보시겠습니까?

Related 관련 기사

  1. 1

    여러 비동기 API 요청을 보내고 응답을 병렬로 처리하는 적절한 방법은 무엇입니까?

  2. 2

    하나의 작업자에게 모든 요청을 보내는 NodeJS 클러스터링 (Windows)

  3. 3

    Twilio를 사용하여 SMS를 보내고 전화에서 응답을 기다렸다가 NodeJS에서 요청을 완료하는 방법

  4. 4

    알림에서 사용자 응답을 받고 앱으로 다시 보내는 Android의 모든 옵션

  5. 5

    하나의 열을 기준으로 모든 열을 평균화하고 NA를 처리합니다.

  6. 6

    Axios 및 Express : Express에 요청을 보내고 여러 단계로 응답 받기

  7. 7

    외부 API의 요청을 결합하고 Flask에서 응답으로 보내는 방법

  8. 8

    모든 함수가 실행을 완료했는지 확인하고 NodeJS에서 응답을 보내는 방법은 무엇입니까?

  9. 9

    클라이언트에게 응답을 보내고 전체 기능을 즉시 종료하고 다음 콜백으로 돌아 가지 않는 방법

  10. 10

    AJAX 요청을 콜백하여 호출자에게 응답을 반환합니다.

  11. 11

    루프로 메일을 보내고 모든 이메일이 전송 된 후에 응답을 출력합니다.

  12. 12

    프로젝트의 모든 디렉토리 내에서 여러 파일 이름을 바꾸려고합니다.

  13. 13

    Android는 내부 라이브러리 인터페이스 콜백을 사용하여 동기 요청을 비동기로 변환합니다.

  14. 14

    JAVASCRIPT 카테고리를 기반으로 여러 속성을 그룹화합니다. 모든 속성이 아닌 하나의 속성에만 적용

  15. 15

    Cypress가 여러 요청을 보내고 로그인을 허용하지 않습니다.

  16. 16

    NodeJS : '집계'(커서) 개체를 CSV로 변환하고 Express를 사용하여 요청에서 CSV 응답을 반환하는 방법은 무엇입니까?

  17. 17

    CloudFront 및 Amazon S3 또는 다른 CDN을 사용하여 모든 유사한 요청을 하나의 정적 파일로 보낼 수 있습니까?

  18. 18

    응답을 기다리지 않고 HTTPBuilder로 POST 요청 보내기

  19. 19

    C에서 응답을 기다리지 않고 프로브 요청 보내기

  20. 20

    Puppeteer : API 요청을 재정의하고 다른 패키지없이 모의 데이터로 응답

  21. 21

    콜백 함수를 사용하여 가져 오기 요청의 응답을 사용할 수 없습니다.

  22. 22

    Django를 서버로 사용하여 단일 요청에 간격으로 여러 응답을 보낼 수 있습니까?

  23. 23

    콜백이 필요하면 nodejs에서 여러 값을 반환합니다.

  24. 24

    CodeIgniter 및 PHPExcel을 사용하여 ajax 응답에서 파일 다운로드를 처리하는 모든 방법

  25. 25

    모든 요청을 하나의 컨트롤러로 리디렉션하는 방법

  26. 26

    .Htaccess 파일의 URL에 나타나지 않고 모든 요청을 CGI 스크립트로 보내는 방법은 무엇입니까?

  27. 27

    어떻게하면 사용자의 입력을 받아 않고 ArrayList에 성공적으로 보관? 그럼 내가 어떻게 내 프로그램이 나에게 ArrayList에있는 모든 요소를 보여주기 위해 어떻게해야합니까?

  28. 28

    .htaccess-디렉토리 내의 요청과는 별도로 모든 트래픽을 다른 사이트로 리디렉션하고 WWW도 추가합니다.

  29. 29

    Python Pandas : 하나의 열로 그룹화하고 모든 열의 내용을 보시겠습니까?

뜨겁다태그

보관