2014-09-19 3 views
0

나는이 질문을 어제 게시했다 : https://stackoverflow.com/questions/25919099/how-do-i-use-callback-to-solve-authentication-issueasync.series를 사용하여 응답을 기다리는 방법?

기본적으로 나는 나의 로그인 요청으로부터의 응답을 기다리고 나서 Checkin 요청으로 가고 싶다. 그렇지 않으면 checkin 요청은 인증 오류 인 401을 제공합니다.

지금은 wait.for 또는 async와 같은 라이브러리를 사용하여 응답을 기다리고 있습니다. 사용 async.series 나는이 코드를 시도하고 그러나 당신이 괄호 식 내에서 여러 함수를 정의하기 위해 노력하고 있기 때문에 예기치 않은 토큰 오류가있어 function two()

function checkin() { 

    async.series[(
       function one() { 
        agent1 
         .post(login-url) 
         .type('form') // send request in form format 
         .send({ 
          username: username, 
          password: password 
         }) 
         .end(function(err, res) { 
          console.log("response for login is ", res.statusCode, " ", res.message); 
         }); 
       } 

       function two() { 
        for (var i = 0; i < count; i++) { 
         if (validatePayment(rows[i].Payment) == true && validateMobile(rows[i].Mobile) == true) { 
          console.log("inside validation"); 
          agent1 
           .post(checkin-url) 
           .send({ 
            phone: rows[0].Mobile, 
            outlet: outletID 
             //outlet: "rishi84902bc583c21000004" 
           }) 
           .end(function(err, res) { 
            console.log("response for checkins is ", res.statusCode, " ", res.message); 
           }); 
         )]; 
       } 
      } 
     } 
     // }); 
} 
+1

설명서를 먼저 확인하십시오 [async.series] (https://github.com/caolan/async#seriestasks-callback) – Ravi

답변

1

에서 unexpected token function 오류를주고 있어요. 콘솔에서이 줄을보십시오 :

(function one() {} function two() {}) 

여기에서 일어나고 당신이 배열 또는 뭔가처럼 async.series에 액세스하려는 경우 : 인덱스,

async.series[ ...index here... ] 

그런 다음 '

async.series[ (function one() { ... } function two() { ... }) ] 
:식이 fallaciously 두 함수 정의를 포함

async.series[ (...) ]; 

: 식 전달 재

괄호 안의 표현식은 하나의 값만 반환한다고 가정합니다. 두 함수는 반환 값이 될 수 없으므로 유효하지 않습니다. 그러나 당신이하는 일은 처음부터 잘못되었습니다.

나는

async.series([ function one() {...}, function two() {...} ]); 

업데이트 된 코드는 다음과 fiddle 다음과 같을 수 있습니다 ... 당신이 정말로 의미하는 것은 async.series를 호출 functionsarray 전달하는 것입니다 생각합니다.

관련 문제