2016-12-14 3 views
0

Я звоню function с callback внутри nodefunction. function срабатывает и выполняет свою задачу, но я не могу понять, как извлечь response в callback.обработка ответа от функции обратного вызова

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 
} 

function с callback фактически 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 
} 
Смежные вопросы