我已經有了一個相當複雜的應用程序,一個視圖模型具有記錄列表:可怕的性能對象
app.records = ko.observableArray([])
使用AJAX我抓住一些JSON從服務器將其填充到陣列中:
$.getJSON("/api/records", function(data){
app.records($.map(data, function(item){
r = new Record(item);
return r;
});
});
這對於我的測試數據集中的至少6個項目非常有用。該應用幾乎立即加載。但我也有一個創造新的記錄按鈕,做到這一點:
$.post("/api/records", {}, function(record){
r = new Record(record);
console.log("About to push...");
app.records.push(r);
console.log("Pushed the new record.");
});
第一個日誌行瞬間出現,但第二線大約需要8秒出現。評論推動使操作有效地立即。我相信這個問題是由於我有相當多的相當複雜的計算變量引起的;我認爲這一推動正在導致它重新計算一切。然而,奇怪的是,在頁面加載時添加六個測試項目是即時的。
任何人都可以給我一些提示來調試嗎?該應用程序不處於我可以輕鬆共享代碼或構建隔離問題的JSFiddle的狀態。我不願意盲目地評論一下線路,看看是否有什麼解決問題,因爲這可能需要很長時間。有沒有人有任何想法?或者至少是一個總體戰略? :)
(我目前使用的2.1候選發佈;與淘汰賽2.0出現的問題,以及)