Как получить значения из внутренней функции в nodejs - PullRequest
0 голосов
/ 01 декабря 2018

HI ИМЕЕТ ПРОСТУЮ ФУНКЦИЮ, КОТОРУЮ БРАТЬ НОМЕР И ПРОВЕРЯТЬ ЕГО

var verifyNumber =(phoneNumber)=>{
//Number Verification 
cb.validatePhone(phoneNumber,'sms',(err,data)=>{
if(err){
    console.log(`You got an error `);
}
console,log('Code send');
return data 
})
}

verifyNumber('***********');

, но проблема в том, что я хочу получить ответ, который возвращается cb.validatePhone (), который находится во втором параметре (data)

и когда я вернусь, он выдаст мне "undefined" :(, так что вы можете получить данные, которые являются Object.

1 Ответ

0 голосов
/ 01 декабря 2018

Существует несколько способов вернуть данные из асинхронной операции.

Вот пример использования обратного вызова:

function verifyNumber(phoneNumber, callback) {
  try {
    cb.validatePhone(phoneNumber, 'sms', (err, data) => {
      if (err) throw new Error('You got an error');
      callback(data); 
    });
  } catch (e) {
    console.log(e);
  }
}

verifyNumber('***********', (data) => console.log(data));

Вот один пример использования promise.

function verifyNumber(phoneNumber) {
  return new Promise((resolve, reject) => {
    try {
      cb.validatePhone(phoneNumber, 'sms', (err, data) => {
        if (err) throw new Error('You got an error');
        resolve(data);
      });
    } catch (e) {
      console.log(e);
    }
  });
}

verifyNumber('***********').then(data => console.log(data));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...