【发布时间】:2017-01-15 03:24:19
【问题描述】:
在我的 accountService 中,我有一个对话框询问用户用户名/密码,它返回一个承诺。如果他们单击关闭而不是关闭,并且验证器在单击关闭之前需要数据,那么我想使用返回可观察的数据登录。
loginModal() : boolean {
this.dpDialogService.input(
'Login',
[
{
label: 'Username/Email',
form: 'username',
data: '',
validators: [Validators.required],
validatorMsg: 'Username is required.'
},
{
label: 'Password',
form: 'password',
data: '',
validators: [Validators.required],
validatorMsg: 'Password is required.',
type: 'password'
},
]
).then(
close => {
this.login({username: close.username.value, password: close.password.value}).subscribe(
loginResult => {
return true;
},
errorResult => {
this.dpDialogService.error('Invalid username/password.');
return false;
}
)
},
dismiss => {
return false;
}
);
}
如何从函数中返回这个布尔值。我猜我必须使用一个承诺,但不确定它们是如何嵌套的。
【问题讨论】:
-
所以,您知道
.then(close => {中的代码没有返回任何内容 -
是的,这就是我想要弄清楚的,我想要嵌套调用的组合结果。
-
I want a combined result from the nested calls- 嗯,不知道你的意思是什么……综合结果表明至少有两个结果合二为一……
标签: javascript angular typescript promise observable