2013-05-16 21 views
0

我在用Backbone同步加載某些數據之前顯示通知;該通知未顯示。僅當我在通知調用後放置一個斷點時才顯示!骨幹提取阻止JQuery預先顯示的元素

的代碼看起來像這樣:

PM.notify($.i18n.prop('loading_project')); 

PM.project = new PM.Project({id: id}); 
PM.project.fetch({async:false}); 
PM.projects[id] = PM.project; 
;;; other async calls follows but are not included here to save space... 

PM.notify = function(text) { 
$('.notification-area').prepend('<ul class="thankyou pm-thankyou"><li class="notification">{0}</li></ul>'.format(text)); 
} 

我嘗試了異步設置爲true,它會導致顯示的,但是我不希望在這種情況下要進行的異步調用不通知。

任何想法?

回答

0

當您在notify()之後設置斷點時,應用程序會在那裏停止,並且將有足夠的時間獲取數據,然後調用notify()。這意味着斷點實際上使得這些代碼是異步的。

我很有趣,爲什麼你不想在這裏進行異步調用。我認爲這是重點。

+0

通知函數在獲取數據之前被調用,所以我不明白它爲什麼不顯示。在顯示項目頁面之前,我需要項目數據,所以我認爲使呼叫同步會更簡單。 – z1naOK9nu8iY5A

+0

通常這種事情應該在服務器端完成。 Web服務器應呈現頁面模板,然後將此頁面傳送到前端。在前面,我們可能會使用一些加載gif來覆蓋那些未渲染的部分。 –

+0

我的模板使用JS IcanHaz庫在前端呈現。 – z1naOK9nu8iY5A