Javascript 未调用可观察结果构造函数
每当一个可观察对象的结果类型为MessageResult时,我都会尝试运行一些代码 呼叫服务Javascript 未调用可观察结果构造函数,javascript,angular,typescript,Javascript,Angular,Typescript,每当一个可观察对象的结果类型为MessageResult时,我都会尝试运行一些代码 呼叫服务 this.campaignService.postCreate(this.authService, { CampaignCode: this.campaignCode, Year: this.year, StartDt: this.startDt, EndDt: this.endDt,
this.campaignService.postCreate(this.authService, {
CampaignCode: this.campaignCode,
Year: this.year,
StartDt: this.startDt,
EndDt: this.endDt,
InhouseDt: this.inhouseDt,
MailDt: this.mailDt,
MarketingId: this.marketingId,
TemplateId: this.templateId
}).subscribe(x => {
console.log(x.text);
//this doesn't event work -> x.fire; or x.fire();
});
然后是服务
postCreate(refAuthService, formResult: any): Observable<MessageResult> {
return refAuthService.PostWithHeader("http://api.positive.local:38880/api/campaign/postcreate", formResult)
.map(this.extractData).catch(this.handleError);
}
控制台中既没有显示这个也没有显示那个
目标是让每个可观察到的结果(即MessageResult)在不进行额外编码的情况下触发消息 一个想法是尝试将
fire()
函数移动到服务中,并让它接受MessageResult
类型的参数,然后将另一个map
函数添加到您的可观察对象中:
postCreate(refAuthService, formResult: any): Observable<MessageResult> {
return refAuthService.PostWithHeader("http://api.positive.local:38880/api/campaign/postcreate", formResult)
.map(this.extractData)
.map(data => this.fire(data) //<-- ADD THIS
.catch(this.handleError);
}
postreate(重新授权服务,formResult:any):可观察{
返回refAuthService.PostWithHeader(“http://api.positive.local:38880/api/campaign/postcreate“,formResult)
.map(此.extractData)
.map(data=>this.fire(data)//希望我不必做map,也不必在所有服务中包含函数,但这必须做,谢谢
postCreate(refAuthService, formResult: any): Observable<MessageResult> {
return refAuthService.PostWithHeader("http://api.positive.local:38880/api/campaign/postcreate", formResult)
.map(this.extractData)
.map(data => this.fire(data) //<-- ADD THIS
.catch(this.handleError);
}