У меня возникла ситуация, когда мне нужно обслуживать функцию в служебной папке из моей папки контроллера, и как только я получу вывод, мне нужно передать его обратно в пользовательский интерфейс.Передача данных из одного js-файла на другой синхронно в NodeJS
//controller
var service = require('service');
api.get('/users', function(request, response) {
var name = request.query['name'];
var responseFromService = service.someAPI(name);
response.send(responseFromService).status(200);
});
//Service
exports.callTwitterAPI = function(twitterHandle,callback){
var responseFromTwitterService;
console.log("Calling Twitter API.." + twitterHandle);
someAPI.get('users/show', {screen_name: twitterHandle}, function (err, data, res) {
if (err) {
//loggerError.error('No connection to twitter :', Date.now());
responseFromTwitterService = JSON.stringify(err) + "Unable to connect twitter";
} else if (data.errors) {
responseFromTwitterService ="User Not Found!!"
// loggerInfo.info('No Twitter handle found for :', twitterHandle);
} else {
console.log("here..");
responseFromTwitterService = data;
}
console.log('response : '+ responseFromTwitterService);
return (null,responseFromTwitterService);
});
}
Теперь мне нужно держать выполнение
response.send(responseFromService).status(200);
эту линию, пока моя служба не возвращает ответ, мне нужно, чтобы сделать его синхронным.
Заранее спасибо :)
Спасибо за ответ. Пробовал, но это не сработало :(Я получаю ответ как неопределенный. Можем ли мы передать ответ JSON непосредственно в js-файлах? – Gaurav
Отправьте свой код для этой услуги, пожалуйста, – Paul
Добавлен код службы. хотя как JSON. – Gaurav