Angular 等待订阅完成
我正在尝试用Angular实现一个测试应用程序。问题场景是,我需要执行Get并根据从Get请求获得的数据返回一个值。见下文: 公共getNextId(entityName:string):编号{ console.info('正在检索'+entityName'的下一个ID); 设seqId:seqId; 常量url=`${this.apiURL}/${entityName}`; console.info('SeqID URL:'+URL); this.http.get(url) .订阅((数据:SeqId)=>SeqId=data);->1 /*使用seqId*/->2执行某些操作 返回seqId.nextEntityId; } 问题是(2)在(1)之前执行。当达到(2)时,seqId变量尚未设置 我怎样才能在同一个方法中获取、处理检索到的数据并返回一些东西Angular 等待订阅完成,angular,typescript,observable,httpclient,subscribe,Angular,Typescript,Observable,Httpclient,Subscribe,我正在尝试用Angular实现一个测试应用程序。问题场景是,我需要执行Get并根据从Get请求获得的数据返回一个值。见下文: 公共getNextId(entityName:string):编号{ console.info('正在检索'+entityName'的下一个ID); 设seqId:seqId; 常量url=`${this.apiURL}/${entityName}`; console.info('SeqID URL:'+URL); this.http.get(url) .订阅((数据:S
提前感谢您需要从这里返回一个可观察的,而不是订阅
GetData() {return this.http.get<SeqId>(url)
.pipe(map(data: SeqId) => seqId = data);
}
GetData(){返回this.http.get(url)
.管道(地图(数据:SeqId)=>SeqId=数据);
}
在控制器中,订阅此方法并执行所需的操作您必须在
subscribe
回调中执行的可能重复操作。