猿问

流星:在Meteor.method中调用异步函数并返回结果

我想在Meteor方法中调用异步函数,然后将结果从该函数返回给Meteor.call。


(怎么)可能?


Meteor.methods({

  my_function: function(arg1, arg2) {

    //Call other asynchronous function and return result or throw error

  }

});


开满天机
浏览 482回答 3
3回答

江户川乱折腾

对于这种情况,Meteor现在具有Meteor.wrapAsync()。这是通过Stripe收费并传递回调函数的最简单方法:var stripe = StripeAPI("key");    Meteor.methods({    yourMethod: function(callArg) {        var charge = Meteor.wrapAsync(stripe.charges.create, stripe.charges);        charge({            amount: amount,            currency: "usd",            //I passed the stripe token in callArg            card: callArg.stripeToken,        }, function(err, charge) {            if (err && err.type === 'StripeCardError') {              // The card has been declined              throw new Meteor.Error("stripe-charge-error", err.message);            }            //Insert your 'on success' code here        });    }});
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答