2013-05-16 18 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