Güncelleme : Chrome 58+ bu ve diğer hata ayıklama iletilerini varsayılan olarak gizledi. Bunları görüntülemek için 'Bilgi'nin yanındaki oku tıklayın ve' Ayrıntılı 'seçeneğini belirtin.
Chrome 57 varsayılan olarak 'ihlalleri gizle' seçeneğini açtı. Bunları tekrar açmak için filtreleri etkinleştirmeniz ve 'ihlalleri gizle' kutusunun işaretini kaldırmanız gerekir.
aniden projeye başka birisi katıldığında ortaya çıkıyor
Sanırım Chrome 56'ya güncelleme yapma olasılığınız daha yüksek. Bu uyarı harika bir yeni özellik, bence, lütfen sadece umutsuzsanız ve değerlendiriciniz sizden not alacaksa kapatın. Temel problemler diğer tarayıcılarda var, ancak tarayıcılar size bir sorun olduğunu söylemiyor. Chromium bileti burada ancak bununla ilgili ilginç bir tartışma yok.
Bu mesajlar hatalar yerine uyarılardır çünkü gerçekten büyük sorunlara neden olmaz. Çerçevelerin düşmesine veya başka şekilde daha az düzgün bir deneyime neden olabilir.
Ancak, uygulamanızın kalitesini artırmak için araştırmaya ve düzeltmeye değer. Bunu yapmanın yolu, mesajların hangi koşullara göründüğüne dikkat etmek ve sorunun oluştuğu yeri daraltmak için performans testi yapmaktır. Performans testine başlamanın en basit yolu, aşağıdaki gibi bir kod eklemektir:
function someMethodIThinkMightBeSlow() {
const startTime = performance.now();
// Do the normal stuff for this function
const duration = performance.now() - startTime;
console.log(`someMethodIThinkMightBeSlow took ${duration}ms`);
}
Daha gelişmiş almak istiyorsanız, ayrıca kullanabilirsiniz Chrome'un profilcisini veya benzeri bir kıyaslama kütüphaneden yararlanabilirler bu bir .
Uzun süren bir kod bulduğunuzda (50ms, Chrome'un eşiğidir), birkaç seçeneğiniz vardır:
- Gereksiz olabilecek bu görevin bir kısmını / tümünü kesin
- Aynı görevi daha hızlı nasıl yapacağınızı öğrenin
- Kodu birden fazla eşzamansız adıma bölme
(1) ve (2) zor veya imkansız olabilir, ancak bazen gerçekten kolaydır ve ilk denemeniz olmalıdır. Gerekirse, her zaman mümkün olmalıdır (3). Bunu yapmak için şöyle bir şey kullanacaksınız:
setTimeout(functionToRunVerySoonButNotNow);
veya
// This one is not available natively in IE, but there are polyfills available.
Promise.resolve().then(functionToRunVerySoonButNotNow);
JavaScript'in eşzamansız yapısı hakkında daha fazla bilgiyi buradan edinebilirsiniz .