reactjs - 根据承诺结果返回布尔值
问题描述
我在处理承诺时感到困惑。我有一个返回布尔值的函数,关于承诺的结果是什么(它是 mobx 商店操作的一部分)
所以在这里,如果长度大于零,我想返回 true,否则返回 false。但是当然,在 promise 得到解决之前,会返回 false
@action
public isUserAdmin(): boolean {
this.user!.getIdTokenResult().then((idTokenResult) => {
return idTokenResult.groups.length > 0;
});
return false;
}
我对使用等待、异步或都不使用它们感到困惑
解决方案
遵循这个答案似乎不可能直接从函数返回布尔值,因此更改为
@action
public isUserAdmin(): Promise<boolean> {
-ret--> return this.user!.getIdTokenResult()
.then((idTokenResult) => {
return idTokenResult.groups.length > 0;
})
.catch((e) => {
return false;
});
}
然后在组件内部得到它
myStore!.isUserAdmin().then((result) => {
/* and this result is wanted boolean */
});
推荐阅读
- java - 有没有办法专门从数组 Java 中挑选出元素到 Ada
- git - 无法列出 Git Enterprise 中的所有存储库
- c# - 从多播委托中删除特定委托的所有实例
- django - Django migrate 每次都被杀死
- python - 如何在python中使用带有套接字的代理列表来ping ip?
- c++ - std::map 可以在迭代器处有效地拆分为两个 std::maps 吗?
- sql - 需要帮助使用 plsql 创建过程
- reactjs - 如何使用 useState 附加到对象进行无限滚动分页?
- node.js - 依赖冲突——节点
- python - 在 pyspark SQL 语句中传递变量