我正在玩一些教程,todo列表的结构如下: 服务器main.js导入一个文件tasks.js,它描述了一些操作(其中一些操作位于" IsServer"语句") 客户端main.jsx导入App.jsx,它导入相同的tasks.js文件
我想添加对外部服务的调用,因此我使用如下方法扩展了服务器main.js(/ server文件夹中的服务器):
Meteor.methods({
calloutMethod: function(id){
var apiUrl = 'http://someurl/'+id;
return HTTP.call(
"GET",
apiUrl
);
},...
现在在tasks.js中,此文件位于导入文件夹中的某个位置,并且也是从客户端导入的,我已添加:
Meteor.methods({
'tasks.insert'(id) {
...
Meteor.call('calloutMethod', id, function(error, result){
if(!error){
console.log(result);
}
});
我想从客户端调用方法tasks.insert,这个方法应该调用托管在服务器上的calloutMethod。
当我在服务器方法中放入console.log时,我看到调用正在进行,结果显示在服务器控制台上..在客户端控制台中,我立即看到" undefined"意味着立即调用回调函数:(
是不是因为这个混合"导入文件夹"制造混乱?在我使用Metor.call对文档的理解中(' name',params,function(err,res){...应该对服务器方法进行异步调用,为什么不发生?