Member-only story

What is ngZone in Angular ?

Pravin M
3 min readNov 2, 2023

What is ngZone in Angular ?
What is ngZone in Angular ?

For more questions and answers visit our website at Frontend Interview Questions

If you’re on a free Medium plan, click here to read — Free Access

In Angular, `NgZone` is a service provided by the Angular framework that helps manage and control the execution of asynchronous tasks and change detection. It is responsible for triggering change detection and updating the view when changes occur. The primary purpose of `NgZone` is to handle and optimize the execution of code that runs outside of Angular’s zone, such as events from third-party libraries or asynchronous operations like timers, AJAX requests, or WebSockets. By default, Angular runs in a zone called the “Angular zone.” When code executes within this zone, Angular’s change detection mechanism is triggered automatically, and the view is updated accordingly. However, when code runs outside of the Angular zone, Angular may not be aware of the changes, leading to potential issues with the application state and view synchronization. `NgZone` provides a way to explicitly run code inside or outside of the Angular zone. It offers two methods for executing code: `run()` and `runOutsideAngular()`.

1. run() : The `run()` method executes the provided function inside the Angular zone. This ensures that any changes triggered by the function will be detected and updated in the view.


import { Component, NgZone } from '@angular/core';

@Component({
selector: 'app-example',
template: `
<button (click)="onClick()">Run Code Inside NgZone</button>
`
,
})
export class ExampleComponent {
constructor(private ngZone: NgZone) {}

onClick() {
this.ngZone.run(() => {
// Code executed inside NgZone
// Angular change detection is triggered
});
}
}

In the above example, the `onClick()` method is wrapped inside the `run()` method of `NgZone`. When the button is clicked, the code inside the `run()` function is executed within the Angular zone, ensuring that any changes made are detected and updated in the view.

2. runOutsideAngular() : The `runOutsideAngular()` method allows you to execute code outside of the Angular zone. This is useful for running code that doesn’t require Angular’s change detection or when optimizing performance for tasks…

Create an account to read the full story.

The author made this story available to Medium members only.
If you’re new to Medium, create a new account to read this story on us.

Or, continue in mobile web

Already have an account? Sign in

Pravin M
Pravin M

Written by Pravin M

I am a frontend developer with 10+ years of experience Blog :- https://www.frontendinterviewquestions.com

No responses yet

Write a response