อัปเดต : Chrome 58+ ซ่อนข้อความเหล่านี้และข้อความแก้ปัญหาอื่น ๆ ตามค่าเริ่มต้น หากต้องการแสดงพวกเขาให้คลิกลูกศรถัดจาก 'ข้อมูล' และเลือก 'Verbose'
Chrome 57 เปิดใช้งาน 'ซ่อนการละเมิด' ตามค่าเริ่มต้น หากต้องการเปิดใช้งานอีกครั้งคุณต้องเปิดใช้งานตัวกรองและยกเลิกการทำเครื่องหมายในช่อง 'ซ่อนการละเมิด'
ทันใดนั้นมันก็ปรากฏขึ้นเมื่อมีคนอื่นเกี่ยวข้องกับโครงการ
ฉันคิดว่าคุณน่าจะอัปเดตเป็น Chrome 56 มากกว่านี้คำเตือนนี้เป็นคุณลักษณะใหม่ที่ยอดเยี่ยมตามความเห็นของฉันโปรดปิดหากคุณหมดหวังและผู้ประเมินของคุณจะทำเครื่องหมายออกจากคุณ ปัญหาพื้นฐานมีอยู่ในเบราว์เซอร์อื่น แต่เบราว์เซอร์ไม่ได้บอกคุณว่ามีปัญหา ตั๋ว Chromium คือที่นี่แต่ไม่มีการพูดคุยที่น่าสนใจ
ข้อความเหล่านี้เป็นคำเตือนแทนที่จะเป็นข้อผิดพลาดเพราะจะไม่ทำให้เกิดปัญหาร้ายแรง อาจทำให้เฟรมตกหล่นหรืออาจทำให้เกิดประสบการณ์ที่ราบรื่นน้อยลง
พวกเขาควรค่ากับการตรวจสอบและแก้ไขเพื่อปรับปรุงคุณภาพแอปพลิเคชันของคุณ วิธีการทำเช่นนี้คือการใส่ใจกับสถานการณ์ที่ข้อความปรากฏขึ้นและทำการทดสอบประสิทธิภาพเพื่อ จำกัด ขอบเขตของปัญหาที่เกิดขึ้น วิธีที่ง่ายที่สุดในการเริ่มการทดสอบประสิทธิภาพคือการใส่รหัสบางอย่างดังนี้:
function someMethodIThinkMightBeSlow() {
const startTime = performance.now();
// Do the normal stuff for this function
const duration = performance.now() - startTime;
console.log(`someMethodIThinkMightBeSlow took ${duration}ms`);
}
หากคุณต้องการที่จะได้รับที่สูงขึ้นนอกจากนี้คุณยังสามารถใช้สร้างโปรไฟล์ของ Chromeหรือทำให้การใช้ห้องสมุดการเปรียบเทียบเช่นนี้
เมื่อคุณพบรหัสที่ใช้เวลานาน (50ms เป็นเกณฑ์ของ Chrome) คุณจะมีตัวเลือกสองทาง:
- ตัดงานบางส่วน / ทั้งหมดออกซึ่งอาจไม่จำเป็นออกไป
- คิดออกว่าจะทำงานเดิมเร็วขึ้นได้อย่างไร
- แบ่งรหัสออกเป็นหลายขั้นตอนแบบอะซิงโครนัส
(1) และ (2) อาจเป็นเรื่องยากหรือเป็นไปไม่ได้ แต่บางครั้งก็ง่ายและควรเป็นความพยายามครั้งแรกของคุณ หากจำเป็นต้องทำเช่นนั้นเสมอ (3) ในการทำเช่นนี้คุณจะใช้สิ่งต่อไปนี้:
setTimeout(functionToRunVerySoonButNotNow);
หรือ
// This one is not available natively in IE, but there are polyfills available.
Promise.resolve().then(functionToRunVerySoonButNotNow);
คุณสามารถอ่านเพิ่มเติมเกี่ยวกับธรรมชาติที่ไม่ตรงกันของ JavaScript ที่นี่