A Использование текущего клиента Soode для вызова функции мыльного обслуживания, когда я отправляю HTTP-запрос на сервер.Создание и использование NodeJS-soap-клиента синхронно
Проблема заключается в том, что запрос возвращается до завершения вызова службы мыла, что не возвращает никаких данных.
Проблемы здесь в том, что логика асинхронна, но мне нужно сделать ее синхронной.
Пожалуйста, любезно направьте меня в правильное решение.
function soap_get_items(req,res){
var resp = [];
var soap = require('soap');
var url = 'http://example.com/example.wsd?singleWsdl';
var args = {name:"N.Hillary"};
soap.createClient(url, function(err, client) {
client.exampleSoapFunction(args, function(err, result) {
resp = result;
});
});
json_resp = JSON.stringify(resp);
res.end(json_resp);
}
Node.js является однопоточным. Мир остановится, пока вы будете ждать синхронного ответа на мыло. –
Просто позвоните 'res.end (result)', где вы получите свой ответ. –
Ваш код * асинхронный *, это означает, что вам нужно будет сделать весь код, относящийся к «результату» * внутри * обратного вызова. –