Wie mache ich eine einfache http-Anfrage in Meteor vom Client zum Server?

Ich benutze Meteor zum ersten Mal und versuche, einen einfachen http-Aufruf innerhalb einer Methode zu haben, damit ich diese Methode vom Client aus aufrufen kann.

Das Problem ist, dass dieser asynchrone Aufruf weiterhin ausgeführt wird, auch wenn er in einem Wrapper enthalten ist.

Client Seite:

Meteor.call('getToken', function(error, results) {
      console.log('entered');

      if(error) {
        console.log(error);
      } else {
        console.log(results);
      }
    });

Server Side

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; 
    } 
});

Ich bekomme immer eine undefinierte Rendite. Wenn ich die Antwort innerhalb des http.post Anrufs protokolliere, erhalte ich die korrekte Antwort. Wenn ich versuche, den syncCall zu protokollieren, erhalte ich nichts.

Ich würde mich über jede Hilfe sehr freuen.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage