无法调用流星服务器端函数的回调函数
Not able to call the callback function of Meteor server side function
我正在尝试在我的流星应用程序中获得支付网关。我正在使用request.post
获得重定向url,但我无法回调。
该函数过早地返回一些数据,但它不会从request.post
回调函数内部返回任何数据到客户端的回调函数,从我调用它的地方。
**我也尝试了future
,但它给了我一个future.result
未发现错误
pay: function(id)
{
var pay_cart = scart.findOne({ _id: id } );
var pay_user = Meteor.users.findOne({ _id: pay_cart.user_id } );
var user_name = pay_user.profile.name;
var user_email = pay_user.services[Object.keys(pay_user.services)[0]].email;
var amount = pay_cart.totalPrice.toString();
var purpose = 'Trn #'+id;
purpose = purpose.toString();
var headers = { 'X-Api-Key': 'key-value', 'X-Auth-Token': 'token-value'}
var payload = {
purpose: purpose,
amount: amount,
phone: '',
buyer_name: user_name,
redirect_url: 'http://www.example.com/redirect/'}
request.post('https://www.instamojo.com/api/1.1/payment-requests/', {form: payload, headers: headers}, function(error, response, body) {
if(!error && response.statusCode == 201) {
body = JSON.parse(body);
console.log(body.longurl);
//I'm trying to return this longurl
return body.longurl;
}
});
}
问题是Meteor不会等到你的post请求完成。但是Meteor确实支持新的await/async语法,并且有一个请求-承诺包,所以post请求返回一个承诺,而不是传递一个回调。
相关文章:
- 如何将一个JavaScript函数回调为多个函数
- Meteor:异步函数回调异常:onAfterAction
- 从类方法中的 ajax post 函数回调函数更改 javascript 类属性
- jQuery动画函数回调错误
- jquery在html属性中添加函数回调,以便在其他事件中调用
- jquery getjson 函数:回调返回错误的字符串
- postMessage - 多个 postMessage 事件/函数/回调
- 在 Promise 调用的错误函数回调后附加对象的用法是什么
- 单击事件后的 JavaScript 函数回调
- 设置超时函数回调静态变量
- Jquery UI 模式匿名函数回调以打开对话框
- 函数回调、局部变量和 chrome.storage.sync.get
- Jquery Ajax 没有拾取选项参数中指定的函数回调
- 如何在 javascript 中进行函数回调
- 用函数回调封装JavaScript
- jQuery JavaScript嵌套异步函数回调
- Node.js-匿名函数回调
- 函数回调超出范围
- php代码的Javascript函数回调
- 如何使用函数回调在更改时提交表单