Knockout包裝內部異步調用,並在拋出原始錯誤以前查找可選的ko.onError回調以執行(若是遇到異常)。 這使您有機會運行自定義邏輯,例如將錯誤傳遞到日誌記錄模塊。 此外,因爲原始調用被包裝在try / catch中,傳遞給ko.onError的錯誤包含一個堆棧屬性,在使用window.onerror處理錯誤時,這在許多瀏覽器中不是真的。 瀏覽器
此功能適用於如下上下文中的錯誤: 緩存
ko.onError = function(error) { myLogger("knockout error", error); };