В моем приложении nodejs 10.16.0 и express 4.16.4 есть метод sendVcode1
, который отправляет SMS-сообщение и возвращается с success
или failed to send
:
sendVcode1:async function(vcode, cell, cell_country_code) {
switch(process.env.sms) {
case "nexmo" :
const nexmo = new Nexmo({
apiKey: process.env.nexmoApiKey,
apiSecret: process.env.nexmoApiSecret
}, { debug: true });
nexmo.message.sendSms(process.env.nexmo_sender_number, cell_country_code + cell, vcode, {type: 'unicode'}, async (err, result) => {
console.log("vcode in nexmo : ", vcode);
if(err){
console.error("Vcode failed to send : ", err.message);
return 'failed to send';
}else{
console.log("successfully sent vcode");
return 'success';
}
});
};
},
Воткод вызова для вышеуказанного метода:
const result = await helper.sendVcode1(vcode, user.cell, user.cell_country_code)
console.log("code send result : ", result);
if(result === 'success') {...}
Если метод sendVcode
вернется, то должен быть консольный вывод code send result ...
.Но при выводе на консоль приложение зависает после successfully sent vcode
в методе sendVcode1
и ничего более.Кажется, что return "success"
никогда не возвращается.Что не так с методом sendVcode1
?