java想要两个返回值_角度|如何从.subscribe获得两个以上的返回值

在Angular应用中,使用`subscribe`方法上传评论图片时遇到问题,服务器返回两个`imageLink`,导致错误。错误发生在`catchError`操作符中。要解决这个问题,可以将返回值作为数组处理,并确保正确处理错误。用户询问如何在不引发错误的情况下获取多个返回值。
摘要由CSDN通过智能技术生成

订阅错误是这部分 .

this.commentService

.uploadCommentImage(formData)

.subscribe(

data => {

console.log(data);

}, (err) => {

console.error(err); // Error occurred!

}

);

commentService.uploadCommentImage - > postImage

uploadCommentImage(image: any) {

return this.apiService.postImage('/api/comment/image', image);

}

最后的调用部分是这一部分 .

postImage(path: string, image: Object = {}): Observable {

return this.httpClient

.post(`${environment.api_url}${path}`, image)

.pipe(catchError(this.formatErrors));

}

来自服务器的返回值(.subscribe(data))是:

{"imageLink":"assets/comment/image/a@a.aa_a48bd8e9.png"}{"imageLink":"assets/comment/image/a@a.aa_6cb66de4.png"}

在这种情况下,Angular上发生错误 .

TypeError:this._subscribe不是ErrorObservable.push上的ErrorObservable.push ../ node_modules / rxjs / _esm5 / internal / Observable.js.Observable._trySubscribe(Observable.js:42)中的函数.. / node_modules / rxjs / _esm5 / internal / Observable.js.Observable.subscribe(Observable.js:28)at subscribeTo.js:21 at subscribeToResult(subscribeToResult.js:11)at CatchSubscriber.push ../ node_modules / rxjs / _esm5 / internal / operators /在MapSubscriber.push上的MapSubscriber.push ../ node_modules / rxjs / _esm5 / internal / Subscriber.js.Subscriber._error(Subscriber.js:83)中的catchError.js.CatchSubscriber.error(catchError.js:43) filterSubscriber.push上的node_modules / rxjs / _esm5 / internal / Subscriber.js.Subscriber.error(Subscriber.js:61)../ node_modules / rxjs / _esm5 / internal / Subscriber.js.Subscriber._error(Subscriber.js:83) )在MergeMapSubscriber.push上的FilterSubscriber.push ../ node_modules / rxjs / _esm5 / internal / Subscriber.js.Subscriber.error(Subscriber.js:61)../ node_modules / rxjs / _esm5 / internal / OuterSubscriber.js.OuterSubscribe r.notifyError(OuterSubscriber.js:13)

避免错误的最佳方法是什么?

我只需要两个imageLinks .

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值