因此,我在sendSMS(number, message)
文件中有一个utils.js
函数。
我从billing.js
现在的问题是,即使我可以在sendSMS()中成功发送http请求,也无法在result
函数之外获取callback
。
有人可以解决吗?如果我在billing.js
内编写代码,则可以得到结果/结果,即不是未定义的。
我的猜测是,回调函数作用域已过期,这就是我无法发送结果的原因。但是,如果我错了,请纠正我。另外,因为我对NodeJS还是很陌生,所以做出一个很好的解释。
内部billing.js
const result = utils.sendSMS(number, message);
console.log(result); //undefined
response.send(result);
功能sendSMS(号码,消息)
function sendSMS(number, message) {
var results;
const username = 'siddhanta.ghosh.5@gmail.com';
const sender = 'TXTLCL';
const msg = urlencode(message);
const toNumber = number;
const data = 'username=' + username + '&hash=' + hash + '&sender=' + sender + '&numbers=' + toNumber + '&message=' + msg;
const options = {
host: 'api.textlocal.in',
path: '/send?' + data
};
callback ((response_sms) => {
var result = '';
response_sms.on('data', (chunk) => {
result += chunk;
});
response_sms.on('end', function () {
console.log(result); //proper output
results = result;
console.log(results); //proper result
});
});
http.request(options, callback).end();
return results; //undefined
}