Я должен вернуть наблюдаемый ответ моему родительскому компоненту после выполнения функции обратного вызова.
если я поставлю return this._httpService.insertRMS (url, body); без обратного вызова, я смогу получить ответ независимо от успеха или ошибки.
Как я понял, можно использовать подписку, только в наблюдаемом типе ответа. доступен ли любой другой для получения наблюдаемого ответа после выполнения функции обратного вызова.
Я написал функцию getParcelInfo внутри функции обратного вызова из-за предотвращения дублирования, так как она требует много раз для других функций
comp1.ts
parcelinfo(){
this._pmsToRMSService.createOrderDelivery(351).subscribe(//Error
response => {
alert("success");
},
error => {
alert("error");
});
}
comp2.ts
@Injectable()
export class PMSToRMSService {
private getParcelInfo(parcelid, callback): any {
let url = serviceAPI.urlParcel + parcelid;
this._httpService.getData(url).subscribe(
response => {
callback(response);
},
error => {
callback(error);
});
}
public createOrderDelivery(parcelid: number): Observable<any> {
return this.getParcelInfo(parcelid, pmsResponse => {
let body = pmsResponse;
let url = serviceAPI.urlRMSCreateOrder;
return this._httpService.insertRMS(url, body);//Output Need
});
}
}