【发布时间】:2016-06-30 02:27:55
【问题描述】:
将数据返回到流星助手方法时,我如何才能等到 ajax 请求完成。
例如,
Template.item.helpers({
itemName:function () {
var user = Meteor.user();
$.when(reallyLongAjaxRequest()).done(function (a1) {
//tried using jquery when
return "Item Name should have this because it waited";
});
return " Doesnt wait at all";
}
});
我有一个 reallyLongAjaxRequest() 正在运行,我希望它在继续使用我的 itemName 助手之前完成。控制台的日志语句始终显示未定义,但那是因为 ajax 请求尚未完成。我在没有运气的情况下尝试使用 jquery。任何想法
编辑:
我应该提到我在辅助函数中是有原因的。我需要渲染项目“id”,以便我可以使用该参数运行 ajax 请求。使用响应式会话将是完美的,但我不知道如何在辅助方法定义之外获取当前呈现的项目?
【问题讨论】:
-
你必须划分你的功能。一部分在请求之前,另一部分在请求之后。在 XMLHttpObject 上,您可以处理 events
-
不确定我是否关注你。这是否与使用 $.when 方法结合使用?
-
我不知道 Meteor Api,所以我建议使用纯 XMLHTTP 请求的解决方法。我可能错了。
标签: javascript ajax meteor