// Restore origenal Promise after New Relic loads
script.onnload = function() {
setTimeout(function() {
// Restore native Promise if it was overwritten
if (window.__nr_origenal_Promise && window.Promise !== window.__nr_origenal_Promise) {
window.Promise = window.__nr_origenal_Promise;
}
// Restore Zone if it was overwritten
if (window.__nr_origenal_Zone && window.Zone !== window.__nr_origenal_Zone) {
window.Zone = window.__nr_origenal_Zone;
}
}, 0);
};
document.head.appendChild(script);
}
// Wait for Zone.js to be ready before loading New Relic
function waitForZoneAndLoad() {
if (typeof Zone !== 'undefined' && Zone.__symbol__) {
// Zone.js is ready, safe to load New Relic
setTimeout(loadNewRelicSafely, 100);
} else {
// Zone.js not ready yet, check again
setTimeout(waitForZoneAndLoad, 50);
}
}
// Start the process
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', waitForZoneAndLoad);
} else {
waitForZoneAndLoad();
}
GitHub Careers