在Angular中,可以使用异步调用来处理各种操作,如HTTP请求、定时器、Promise、Observable等。下面是一些常见的异步调用示例:
import { Component } from '@angular/core';
@Component({
selector: 'app-example',
template: ''
})
export class ExampleComponent {
getData() {
this.getDataAsync().then((data) => {
console.log(data);
}).catch((error) => {
console.error(error);
});
}
getDataAsync(): Promise {
return new Promise((resolve, reject) => {
// 异步操作,如HTTP请求
setTimeout(() => {
// 模拟请求成功
resolve('Data received');
// 模拟请求失败
// reject('Error occurred');
}, 2000);
});
}
}
import { Component } from '@angular/core';
import { Observable } from 'rxjs';
@Component({
selector: 'app-example',
template: ''
})
export class ExampleComponent {
getData() {
this.getDataAsync().subscribe((data) => {
console.log(data);
}, (error) => {
console.error(error);
});
}
getDataAsync(): Observable {
return new Observable((observer) => {
// 异步操作,如HTTP请求
setTimeout(() => {
// 模拟请求成功
observer.next('Data received');
// 模拟请求失败
// observer.error('Error occurred');
// 完成请求
observer.complete();
}, 2000);
});
}
}
注意:上述示例中的getDataAsync()方法使用了setTimeout来模拟异步操作,你可以根据具体需求替换为实际的异步操作,例如使用HttpClient发送HTTP请求。