【发布时间】:2022-12-01 16:46:15
【问题描述】:
我是 TS/JS 的新手,我想验证作为参数传递给函数的多个条件
例如,这里我正在检查用户角色名称,tmrw 我可能需要检查一些其他条件
validateUserDetails(): Promise<Boolean> {
return new Promise<Boolean>((resolve, reject) => {
this.currentLoggedInUserRole = this.sharedService.getCurrentUser()['roleName'];
if (this.currentLoggedInUserRole) {
let url = `<some GET url>`;
this.http
.get<any>(url)
.pipe(
take(1),
catchError((error) => {
reject(false);
return throwError(error);
})
)
.subscribe((response: any) => {
if (
response.length > 0 && response.some((user) => user['roleName'] === this.currentLoggedInUserRole)) {
resolve(true);
} else {
resolve(false)
}
});
}
});
}
this.userValidationService.validateUserDetails().then(isUserValid => {
//some logic
}).catch((error) => {console.log(new Error(error))})
我想将要检查的条件作为参数传递给下面的函数,tmrw 我可能有多个值要传递我不作为逗号分隔值传递,我想传递可能像数组或映射。this.userValidationService.validateUserDetails(['userRole', userID]) .
this.userValidationService.validateUserDetails('userRole').then(isUserValid => {
//some logic
}).catch((error) => {console.log(new Error(error))})
所以我的问题是我如何传递具有多个条件的参数,如果是,我如何处理我的承诺以检查所有/部分条件。谢谢
【问题讨论】:
标签: javascript arrays angular typescript javascript-objects