gpt4 book ai didi

error-handling - RxJs 如何在 ReplaySubject 中引发异常?

转载 作者:行者123 更新时间:2023-12-03 22:42:25 24 4
gpt4 key购买 nike

我有一个 angular 2 服务

import * as localforage from "localforage";
import { ReplaySubject } from 'rxjs/ReplaySubject';

@Injectable()
export class CommentService {
private localForage = require("localforage");

addComment (myvalue: string): Observable<Comment[]> {
var reply:ReplaySubject<any> = new ReplaySubject(1);
localforage.setItem(that.key, that.elencoCommenti).then(function (value) {
//throw new Error("Value cannot be 3");
reply.throw(Error('Error2'));
// reply.next( value );
// reply.complete();
});
return reply;
}

}

该服务包含一个引发异常的方法。
当我尝试订阅时
submitComment(){
// Variable to hold a reference of addComment
let commentOperation:Observable<string>;

commentOperation = this.commentService.addComment(this.model)

// Subscribe to observable
commentOperation.subscribe(
comments => {
console.log('ok:');
console.log(comments);
},
err => {
// Log errors if any
console.log('error:');
console.log(err);
});
}

我没有收到错误。
如何在 ReplaySubject 中引发异常?

最佳答案

reply.error("some error");应该这样做。

但是我不建议你在 ReplaySubject 中抛出错误- 因为任何错误都会最终确定 Subject并使其无法用于任何 future 的使用,并将自动取消订阅任何订阅者 - 除非这是您想要在这里实现的目标。

关于error-handling - RxJs 如何在 ReplaySubject 中引发异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43886930/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com