升级Firebase包后await RemoteConfig.instance出现非Future类型提示如何解决
问题解答
提示触发原因
静态检查抛出await_only_futures提示的核心原因是你升级后的firebase_remote_config依赖版本已调整RemoteConfig.instance的返回值类型:旧版本(3.x及更低)该属性返回Future<RemoteConfig>,必须配合await使用;4.x及以上版本已改为同步返回RemoteConfig实例,不需要异步等待,因此你代码中多余的await会触发该提示。
代码是否存在隐患
当前代码虽然可以正常编译运行,但属于不规范写法:
- 多余的await会引入无意义的异步调度开销
- 后续如果依赖包版本继续升级收紧语法检查,该代码可能直接编译报错
修复方案
直接去掉代码中的await即可,修正后代码如下:
RemoteConfig remoteConfig = RemoteConfig.instance;
额外注意事项
- 升级
firebase_remote_config到4.x+版本后,除instance调用无需await外,fetch、activate、参数读取等相关API也有少量调整,可同步排查其余RemoteConfig相关代码是否存在过时写法 - 无需为了消除提示添加
as Future或.future等多余强制转换操作,直接移除await是官方推荐的标准写法
内容的提问来源于stack exchange,提问作者Varun
相关产品推荐
相关产品推荐

