jQuery'ye iletilen geri aramalardan (click
gibi olay işleyicilerine veya then
veya always
gibi jqXHR yöntemlerine) alınan istisnaları yakalamak istiyorum.jQuery'ye iletilen geri çağrılarda atılan istisnalar nasıl yakalanır?
Ben iki seçenek belirledik:
window.onerror
işleyicisi - Bu her callback'inde içinde- elleçleme istisnalar benim hedef platformlarından biri olan bu Android'de desteklenmediği için yalnızca kısmi bir çözüm - hiç de değil!
Düşünebildiğim tek şey, jQuery yöntemlerini geçersiz kılar ancak jQuery'yi her yüklediğimde sorunlara neden olabilir. AJAX işleyicileri için $ .ajaxSetup (Exceptions thrown in jQuery AJAX callbacks swallowed? cevabına göre) kullanabiliyordum ama bunun her şeyi yakalamamı sağlayacağından emin değilim.
Başka seçenek var mı? Bunun yerine, gerçek geri arama geçme, bir Ajax çağrısına bir geri arama geçmek giderken
function cbWrapper(fn) {
return function() {
try {
return(fn.apply(this, arguments));
} catch(e) {
// handle all your exceptions here
}
};
}
Yani, cbWrapper(callback)
geçmesi: