Typescript验证作为函数参数传递多个条件

cx6n0qe3  于 2022-12-05  发布在  TypeScript
关注(0)|答案(1)|浏览(122)

我是TS/JS的新手,我想验证作为参数传递给函数的多个条件
例如,我在这里检查用户角色名称tmrw,我可能需要检查一些其他条件
第一个
我想把要检查的条件作为参数传递给下面的函数,tmrw我可能有多个值要传递,我不想以逗号分隔的值传递,我想传递的可能是数组或Map。this.userValidationService.validateUserDetails(['userRole', userID])

this.userValidationService.validateUserDetails('userRole').then(isUserValid => {
  //some logic
}).catch((error) => {console.log(new Error(error))})

因此,我问题是如何传递具有多个条件的参数,如果是,我如何在我的承诺中处理以检查所有/部分条件。假设我们有['userRole','userID','clientID']。如果userRole返回true,userID返回false,clientId返回true,合并结果应为false,基本上,如果有任何一个条件失败,结果应该是假的。如何使用rxjs forkJoin()实现这一点。谢谢

hmae6n7t

hmae6n7t1#

您可能正在寻找TypeScript - Rest Parameters

validateUserDetails(...fields: string[]): Promise<Boolean> {
  ...
}

然后你可以传递函数的参数作为sperate(逗号)或数组,结果仍然是一样的。

this.userValidationService.validateUserDetails(['userRole', 'userID', ...])

this.userValidationService.validateUserDetails('userRole', 'userID', ...)

相关问题