我通过ScopedModel为当前登录用户的所有用户数据创建了一个UserModel。数据从Firebase / Firestore异步(未来)加载到UserModel模型中。现在,我想在我的应用程序中的任何位置访问变量。因此,例如,我的应用程序中有另一个Firestore调用,它需要userId。现在,当我尝试加载变量时,它们是Future的Instance或为null(我必须等待它们)。我知道我可以在每个initState中等待它们。但是我认为这是一个错误的解决方案。知道该怎么办吗?
示例:这里我需要userId
<div id="sliders-container">
<div class="slider-container">
<p class="slider-label">foo</p>
<input class="slider" min="0" max="100" type="range">
<p class="slider-value">10</p>
</div>
<div class="slider-container">
<p class="slider-label">foo-bar-baz</p>
<input class="slider" min="0" max="100" type="range">
<p class="slider-value">0</p>
</div>
<div class="slider-container">
<p class="slider-label">quuuuuuuuuuuuux</p>
<input class="slider" min="0" max="100" type="range">
<p class="slider-value">0.0000001</p>
</div>
</div>
我将模型数据加载到应用程序树的开头
FutureBuilder(future: Firestore.instance
.collection('users')
.document(model.userId.toString())
.get(), etc...
现在,UserModel如下所示。
void main() async{
var model = new UserModel();
await model.loadData();
runApp(new ChatHere());
}