0
我第一次使用流星,我试图在一个方法中有一个简单的http调用,所以我可以从客户端调用这个方法。如何在流星从客户端到服务器做一个简单的http请求
问题是这个异步调用它保持运行,即使我把它放在一个包装中。
客户端:
Meteor.call('getToken', function(error, results) {
console.log('entered');
if(error) {
console.log(error);
} else {
console.log(results);
}
});
服务器端
Meteor.methods({
getToken: function(){
// App url
var appUrl = 'myAppUrl';
// Key credentials
var apiKey = 'mykey';
var apiSecret = 'mySecret';
function asyncCall(){
Meteor.http.call(
'POST',
appUrl,
{
data: {
key: apiKey,
secret: apiSecret
}
}, function (err, res) {
if(err){
return err;
} else {
return res;
}
}
);
}
var syncCall = Meteor.wrapAsync(asyncCall);
// now you can return the result to client.
return syncCall;
}
});
我总是得到一个未定义的回报。 如果我在http.post调用中记录响应,我正在给出正确的响应。 如果我尝试登录syncCall,我什么也得不到。
我非常感谢这方面的帮助。
谢谢@David! –