小编Chr*_*fer的帖子

在Angular2服务中多次发出Http请求

我创建了一个发出简单GET请求的服务:

private accountObservable = null;

constructor(private _http: Http) {
}

getAccount () {
    // If we have account cached, use it instead
    if (this.accountObservable === null) {
        this.accountObservable = this._http.get('http://localhost/api/account')
            .map(res => <Account> res.json().data)
            .catch(this.handleError);
    }

    return this.accountObservable;
}
Run Code Online (Sandbox Code Playgroud)

我在我的bootstrap函数中添加了该服务以在全局范围内提供它(我希望为所有组件提供相同的实例):

provide(AccountService, { useClass: AccountService })
Run Code Online (Sandbox Code Playgroud)

问题是当我在不同的组件中调用此服务时,每次都会发出GET请求.因此,如果我将其添加到3个组件,即使我检查是否已存在可观察量,也会发出3个GET请求.

ngOnInit() {
  this._accountService.getAccount().subscribe(
    account => this.account = account,
    error =>  this.errorMessage = <any>error
  );
}
Run Code Online (Sandbox Code Playgroud)

如何防止多次发出GET请求?

http angular

13
推荐指数
1
解决办法
2万
查看次数

使用微服务进行compex报告

我正在开始一个新项目,并且有兴趣将其设计为微服务.我试图绕过它:

假设我有订单服务和产品服务.现在我想制作一个报告服务,它为我提供包含某个产品类别的产品的所有订单.

由于订单不了解产品,这意味着我需要获取所有订单,循环它们并获取每个订单的产品,然后返回那些匹配的产品.

这个假设是正确的还是有更高效的方法来实现微服务?

report microservices

2
推荐指数
1
解决办法
2523
查看次数

标签 统计

angular ×1

http ×1

microservices ×1

report ×1