2016-12-14 55 views
0

我打电话function,并在nodefunction的内部输入callbackfunction发射并完成其任务,但我无法弄清楚如何从callback中检索response处理来自回拨函数的响应

foo() { 
    merchant.createCustomerProfile(cardNumber, expDate, email, id, function callback(){ 
       // How do I retrieve the response from the callback?     
       // console.log(callback); 
      }); 
    //so I can pass it out here and use it 
} 

functioncallback实际上returnscallback。它看起来像这样,

function createCustomerProfile(cardNumber, expDate, email, id, callback) { 
    ctrl.execute(function(){ 

     var apiResponse = ctrl.getResponse(); 

     var response = new ApiContracts.CreateCustomerProfileResponse(apiResponse); 
     if(response != null) 
     { 
      if(response.getMessages().getResultCode() == ApiContracts.MessageTypeEnum.OK) 
      { 
       console.log('Successfully created a customer profile with id: ' + response.getCustomerProfileId()); 
      } 
      else 
      { 
       console.log('Result Code: ' + response.getMessages().getResultCode()); 
       console.log('Error Code: ' + response.getMessages().getMessage()[0].getCode()); 
       console.log('Error message: ' + response.getMessages().getMessage()[0].getText()); 
      } 
     } 
     else 
     { 
      console.log('Null response received'); 
     } 

     callback(response); 
    }); 
} 

我试图获得resultCode,应在回调函数的响应。

回答

1

你可以试试这个:

foo() { 
    merchant.createCustomerProfile(cardNumber, expDate, email, id, function callback(response){ 
       // How do I retrieve the response from the callback?     
       // console.log(callback); 
       console.log(response); 
      }); 
    //so I can pass it out here and use it 
}