Zone.js example
by amindunited
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/zone.js/0.8.29/zone.min.js"></script>
JavaScript
const myZone = Zone.current.fork({
name: 'cheese-doodle',
onScheduleTask: (parentZoneDelegate, currentZone, target, task) => {
console.log('parentZoneDelegate', parentZoneDelegate, 'currentZone', currentZone);
parentZoneDelegate.scheduleTask(target, task);
},
onInvokeTask(parent, current, target, task) {
console.log('Invoking ' + task.source + ' => ' + task.data.handleId);
parent.invokeTask(target, task);
}
});
myZone.run(() => {
setTimeout(() => {
console.log('set timeout 1 second');
}, 1000);
setTimeout(() => {
console.log('set timeout 2 second');
}, 2000);
setTimeout(() => {
console.log('before fetch...');
fetch('https://jsonplaceholder.typicode.com/todos/1')
.then(response => response.json())
.then(json => console.log('after fetch', json))
}, 3000);
});