如何等待ajax請求完成時纔將數據返回給流星幫助程序方法。在流星幫助程序中發出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](http://www.w3.org/TR/XMLHttpRequest/#events) –
不確定我是否關注你。這是否與使用$ .when方法一起使用? – Warz
我不知道流星Api,所以我建議使用裸XMLHTTP請求的解決方法。我可能是非常錯誤的。 –