2015-09-24 19 views
5

Chrome'da geliştirici araçlarına sahip olduğumu ve bir Sözün reddedildiğini bildirirse, Chrome "javascript" işlemini "Duraklatılmış olarak reddedildi" iletisiyle duraklatır. Bir şekilde Chrome'un bu durumda duraklamasını engelleyebilir miyim (ve yine de devtools açık durumda)?Chrome'un (v45) söz vermeyi reddetmesini engelleyebilir miyim?

Reddedilen sözler, uygulamamdaki "normal" akışın bir parçasıdır ve her seferinde Chrome'da devam ettirme düğmesine basmaya elverişli değildir.

Sen js-konsolunda aşağıdaki girerek Chrome'da bu davranışı test edebilirsiniz:

new Promise(function(accept, reject) { reject(); }) // (tested in v 45.0.2454.99) 

teşekkür ederiz.

cevap

12

Yalnızca Chrome, "Kaynaklar" sekmesinde "yakalanmamış istisnai duraklatma" açıksa bunu yapar.

enter image description here

bunu işaretini kaldırırsanız Eğer hatalarında duraklama olmayacaktır. Bir vaat reddi kavramsal olarak bir hatadır. Zihinsel olarak modellemek için doğru yoldur, aksi halde aşağıdakiler sessiz hatalardır:

Promise.resolve().then(function(){ 
    JSON.prase("{}"); // unhandled rejection, TypeError, typo 
    foooooo = 15; // unhandled ReferenceError, undefined 
}); 

Ve benzerleri. vaatler ile

try { 
    doSomething(); 
} catch(e){ 
    // explicitly ignore all errors. 
} 

:

doSomething().catch(function(){}); // explicitly don't report rejection 
açıkça bir senkron benzer bir ret, bastırmak istiyorsanız

Eğer senkron kodda yapmak aynı şeyi yapardım "catch all"

+2

Teşekkürler, bu benim sorunumun çoğunu çözdü. Ancak "Tümünü yakala" seçeneğiniz hala, "İstisnalarda duraklat" etkinse Chrome'un duraklatılmasına neden olur. –

+0

@MikaelSundberg o zaman bu kesinlikle bir hata, devtools ekibinden bir arkadaş ile iletişime geçip onu sıralayacağım. Teşekkürler. –

+0

https://code.google.com/p/chromium/issues/detail?can=2&q=promises%20devtools%20rejection&colspec=ID%20Pri%20M%20Stars%20ReleaseBlock%20Cr%20Status%20Owner%20Summary%20OS%20Modified&id = 535452 & thanks = 535452 & ts = 1443081694 –

İlgili konular