Meteor.js:等待服务器完成

时间:2015-10-01 21:11:49

标签: javascript meteor

我遇到了我的流星服务器调用发布到远程URL然后返回结果的情况。但是,我的meteor客户端正在期待一个结果并且它接收一个空字符串(默认返回)。

实现此目的的正确方法是什么?

Meteor.methods({
run: function(options){
            return HTTP.post(apiUrl, {
                    params:
                    {
                        "headers": headers
                    }
                },
                function (error, result)
                {
                    if (error)
                    {
                        console.log("error: " + error);
                    }
                    else
                    {
                        console.log("result: " + JSON.stringify(result));
                        console.log(result.content);
                    }
                })
});

在我的客户端

Meteor.call('run', '1', function(err,response) {
        if(err) {
            console.log(err);        
            return;
        }else{
            r = response;
            console.log(JSON.stringify(r));
            FileSystem.update({ _id: fileid }, { $set: {taskid:taskid} }, function (e, t) {
                if (e) {

                }else{

                }
            });
        }
    });

我希望在客户端上等待包含要保存到数据库(taskid)的所需数据的完整结果。

1 个答案:

答案 0 :(得分:1)

您正在异步调用class Labo21 { public static void main(String [] arguments){ int n; int i; double somme; System.out.print("Positive number: "); n = Clavier.lireInt(); //keyboard if( n <= 0){ System.out.print("ERROR"); }else{ i = 2; somme = 1; while (n <= i){ somme = somme + 1.0 / i; i = i + 1; } System.out.print("Result: " + somme); } } } 。只需删除回调函数并使其变为同步,即,您将获得包含调用结果的返回值:

HTTP.post