Meteor.call与" import"不同步。夹

时间:2017-03-23 00:54:43

标签: javascript node.js asynchronous meteor

我正在玩一些教程,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){...应该对服务器方法进行异步调用,为什么不发生?

0 个答案:

没有答案