- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我想在我的订阅者上使用第二个参数(错误)但不起作用。
我的 Observable 代码:
return Observable.create(obs => {
cognitoidentityserviceprovider.adminCreateUser(params, function(error, data) {
if (error) {
console.log(error);
return throwError(error || 'Server error');
} else {
console.log(data);
return obs.next(data.User);
}
});
});
我的 console.log(error);
没问题,但什么也没有(没有痕迹)。
我的订阅者代码:
this.myService.createUser(user).subscribe(
result => this.getUsers(),
error => this.errorUsersProcessor(error));
我的订阅者的第二个参数(错误)永远不会调用。
最佳答案
来自文档:抛出错误
Creates an Observable that emits no items to the Observer and immediately emits > an error notification.
所以我的猜测是 throwError 正在向一个新的观察者发出一个错误,而不是你订阅的观察者。
你可以尝试通知你是真正的观察者来发出错误:
obs.error(error || new Error('Server error'));
关于Angular 7 (RxJs 6.x) - 如何使用 throwError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54686930/
首先,我要明确一点,我知道 Rx throwError 运算符和 JS 的 throw 关键字的区别。我只是想知道为什么要使用 throwError 运算符?我通过创建一个新的 observable
正如预期的那样,以下代码在 5 秒后发出 42: const valueObservable = of(42).pipe(delay(5000)); valueObservable.subscribe
我创建了一个类并尝试调用一个方法,但是在我的 错误日志 , 我收到回复 "Uncaught Error: Call to undefined method Customersss::throwErro
我正在为一个函数编写测试,并且必须触发该函数的 .catch 部分,但 Jasmine 的 spy 出于某种原因不能这样做。待测方法: foo(){ doStuff() .catch((error)
Angular 文档谈到了一个“throwError”类,其导入语句如下所示 import { Observable, throwError } from 'rxjs'; 但我的编译器无法找到该类,并
显然 throwError(error)现在已弃用。 VS Code 的 IntelliSense 建议 throwError(() => new Error('error') . new Error
我正在尝试为 Node.js 构建一个简单的登录模块。我正在尝试以 TDD 方式进行操作,但我对它还是陌生的,所以任何有助于我更好地理解它的提示或资源都会很棒。 当我查询包含无效数据的数据库时,我的问
我想在我的订阅者上使用第二个参数(错误)但不起作用。 我的 Observable 代码: return Observable.create(obs => { cognitoidentityserv
目标:为服务器错误和应用程序错误(在 Typescript 代码中生成)提供全局错误处理程序。 如何:从同一工作空间内的 lib 项目中提供自定义 ErrorHandler。这是我的库结构: 我有以下
我正在使用 RxJS shareReplay()可观察对象( courses$ )上的运算符,以在其他两个可观察对象( beginnerCourses$ 和 advancedCourses$ )之间共
我是一名优秀的程序员,十分优秀!