Angular2 – 如何在组件中链接异步服务调用(http请求)?
发布时间:2020-12-17 07:53:09 所属栏目:安全 来源:网络整理
导读:我有一个组件,首先需要调用POST的服务.然后在同一个组件中我想等到POST完成后,调用另一个获取数据的服务. 如何进行GET调用等待POST调用完成? 在new-version.component.ts中: private createNewVersion(value) { ... // create new version,then call on al
我有一个组件,首先需要调用POST的服务.然后在同一个组件中我想等到POST完成后,调用另一个获取数据的服务.
如何进行GET调用等待POST调用完成? 在new-version.component.ts中: private createNewVersion(value) { ... // create new version,then call on all available versions // POST call this._newVersionService.createNewVersion(vnr); // GET call this._versionService.getAvailableVersions(); ... } 在new-version.service.ts中: export class NewVersionService { response$: Subject<any>; constructor(private _http: Http) { this.response$= new BehaviorSubject<any>(null); } public createNewVersion(versionNr) { this._http.post('http://localhost:8080/services/' + versionNr,null,{ method: 'POST',}) .subscribe(response => { this.response$.next(response.status); },error => console.error(error)); } 谢谢!
当一个调用返回一个Promise链时调用
someFunction() { return returnsPromise() .then(result => doSomethingNext()) .then(result => doSomethingAfterThat()); } 确保你有一个返回该链的Promise的返回值,因此someFunc()的调用者也有机会在doSomethingAfterThat()完成后执行额外的工作. 当一个调用返回一个Observable时,然后使用完整的回调 someFunction() { return returnsObservable() .subscribe( event => doForEachEvent(),error => handleError(),() => doSomethingNext() .then(result => doSomethingAfterThat()); } doSomethingNext()在最后一个事件之后执行,doSomethingAfterThat()再次与then()链接以显示如何混合observable和promise.做一点事(). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- angularjs – 如何突出显示ngRepeat中的一个选定的行?
- 【数据结构】平衡二叉树的构建以及增加删除操作
- 为什么有些人在.gvimrc中使用“if has(”gui_running“)”?
- angularjs – Angular – ui-bootstrap – datepicker – 有
- 日志定时压缩清理shell脚本(日志文件后缀格式如xxxxx.log.
- ①bootstrap学习笔记一下载安装,栅格,流式,布局,样式
- Angular 开发NPM第三方包
- ngrx/store综合介绍,读完马上精通angular中的ngrx/store
- scala – 带有ssl-conf的Akka HTTPS(SSL)服务器
- vimiumC的下载、配置与节点个性化