【发布时间】:2017-02-15 05:12:38
【问题描述】:
我有一个内部调用soap函数的Meteor方法。
Meteor 在收到来自soap 客户端的响应之前正在执行所有语句。
所以我得到一个未定义的结果。
我想在执行方法中的其他语句之前承诺soap执行。
createSoapConnection(){
var Soap = require('soap');
var url = 'https://xxxxxx/index.php/api/v2_soap/?wsdl';
var args = {username: 'xxxxxx', apiKey: 'xxxxxx'};
let client = Soap.createClient(url, function(err, client){
let result = client.login(args, function(err, result) {
let sessionId = result.loginReturn.$value;
console.log(sessionId);
return {
conn: client,
sessionId: sessionId
};
});
});
}
我是通过这个流星方法调用这个方法的。
addsoapmessage(){
let a = Meteor.call("createSoapConnection");
console.log(a);
}
结果在控制台中变得未定义。之后会话 ID 被打印出来。我该如何解决这个问题?
【问题讨论】:
标签: node.js web-services magento meteor soap