Существует несколько способов вернуть данные из асинхронной операции.
Вот пример использования обратного вызова:
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));