我试图在rxjs Observable中抛出一个错误
new Observable(subscriber => {
Observable.throw("error1");
return Observable.throw("error2");
})
.subscribe(
() => {},
err => console.error(err)
);
Run Code Online (Sandbox Code Playgroud)
错误1未被捕获.
error2给出了编译错误:
Argument of type '(this: Observable<{}>, subscriber: Subscriber<{}>) => ErrorObservable<string>' is not assignable to parameter of type '(this: Observable<{}>, subscriber: Subscriber<{}>) => TeardownLogic'. Type 'ErrorObservable<string>' is not assignable to type 'TeardownLogic'
Run Code Online (Sandbox Code Playgroud)
在一个observable中抛出错误的正确方法是什么?
我正在尝试为我的项目设置开发环境.
我有一个容器(ms1)应该放在他自己的网络中(在我的情况下是"服务"),以及一个容器(apigateway)应该访问该网络,同时将一个http端口暴露给主机的网络.
理想情况下,我的docker撰写文件看起来像这样:
version: '2'
services:
ms1:
expose:
- "13010"
networks:
services:
aliases:
- ms1
apigateway:
networks:
services:
aliases:
- api
network_mode: "host"
networks:
services:
Run Code Online (Sandbox Code Playgroud)
docker-compose不允许同时使用network_mode和网络.
我还有其他选择吗?
目前我正在使用这个:
apigateway:
networks:
services:
aliases:
- api
ports:
- "127.0.0.1:10000:13010"
Run Code Online (Sandbox Code Playgroud)
然后apigateway容器侦听0.0.0.0:13010.它工作但它很慢,如果主机的互联网连接断开,它会冻结.
另外,我计划将来在docker上使用vagrant,它是否允许以干净的方式解决?
我的模板看起来像这样:
<router-outlet></router-outlet>
<router-outlet name="rightpanel"></router-outlet>
Run Code Online (Sandbox Code Playgroud)
让我们说我的网址是:
/#/page1(rightpanel:panel)
Run Code Online (Sandbox Code Playgroud)
我想切换到page2并使用routerLink指令删除辅助插座.我尝试了以下方法:
[routerLink]="['/page2', {outlets: {rightpanel: null}}
[routerLink]="['/page2', {outlets: {}}
Run Code Online (Sandbox Code Playgroud)
在这两种情况下,页面都切换到page2,但rightpanel仍处于活动状态.我能解决的唯一方法是将以下代码放在page2的构造函数中:
this.router.navigate([{outlets: {rightpanel: null}}]);
Run Code Online (Sandbox Code Playgroud)
由于许多原因,这不是一个好的解决方案.
使用角2.4.3,路由器3.4.3
我正在用打字稿做一个快速的应用程序.路由器代码是:
let user = new User();
router.get("/", user.test);
Run Code Online (Sandbox Code Playgroud)
用户类是
export class User {
test(req, res, next) {
// this === undefined
}
}
Run Code Online (Sandbox Code Playgroud)
问题是这个对象在测试方法中是未定义的.有没有更好的方法来实现快速路由?
angular ×1
devops ×1
docker ×1
express ×1
javascript ×1
networking ×1
node.js ×1
router ×1
routing ×1
rxjs ×1
typescript ×1
vagrant ×1