- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我正在尝试清理 Flutter Architecture Samples 的一个分支上的一些(工作)代码项目。熟悉 Dart 2 中的转换的人对如何清理我的尝试有任何建议吗?
这可能会在发布后发生变化,但我目前拥有的是:
Stream<List<TodoEntity>> todos() {
return firebase.reference().child(path).onValue.map((event) {
if (event.snapshot == null || event.snapshot.value == null) return [];
return Map
.castFrom(event.snapshot.value.map((key, doc) {
return MapEntry(
key,
TodoEntity(
doc['task'],
key,
doc['note'] ?? '',
doc['complete'] ?? false,
));
}))
.values
.toList()
.cast();
});
}
我进行了多次转换,我希望我可以删除 .cast()
并更明确地说明类型,以便编译器知道该做什么并且更容易阅读和理解。
完整代码目前可以在我的fork上找到
顺便说一句:flutter_redux flutter 应用程序适用于 firestore ,我添加了支持以使其能够与 firebase realtime database 一起使用,包括测试。
编辑:感谢Rémi Rousselet , 以下作品无需类型转换:
Stream<List<TodoEntity>> todos() {
return firebase.reference().child(path).onValue.map((event) {
if (event.snapshot == null || event.snapshot.value == null) return [];
final Map<dynamic, dynamic> value = event.snapshot.value;
final todoMap = value.map((key, doc) {
return MapEntry(
key,
TodoEntity(
doc['task'],
key,
doc['note'] ?? '',
doc['complete'] ?? false,
));
});
return todoMap.values.toList();
});
}
最佳答案
实际上,您可以删除的不仅仅是最后一个cast
。也有类型检查。
final Map<String, dynamic> value;
final foo = value.map((key, doc) {
return MapEntry(
key,
TodoEntity(
doc['task'],
key,
doc['note'] ?? '',
doc['complete'] ?? false,
));
});
final values = foo.values.toList();
Dart 会自动推断相应的类型。这样foo
类型为 Map<String, TodoEntity>
和 values
类型 List<TodoEntity>
关于firebase-realtime-database - 如何在 Dart 2 中为我的用例键入 cast,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50308353/
我对 Google Drive Realtime API 有点困惑。我正在尝试构建一个类似应用程序的白板,用户可以在其中进行实时协作。我认为谷歌的实时 API 将是完美的。 虽然实时 API 可以完成
我正在寻找一种软件设计模式,它可以解决不同用户同时编辑文档的问题。我想将它用于 Android 应用程序。到目前为止我刚刚找到了Google Realtime API但这似乎不是我正在寻找的,因为它是
我对 Java 实时系统开发非常陌生。我在 OpenSuse 中创建 Java 文件并编译它。我收到错误: The import javax.realtime cannot be resolved.
我有一个类似clock_gettime(CLOCK_REALTIME) 的调用,它能处理闰秒吗?如果不是,需要进行哪些更改?在 Solaris 上工作。 最佳答案 如果您的 Unix 系统与 NTP
如何在 firebase 函数的帮助下计算键的数量,在上面的例子中有 3 个。我正在使用 firebase 实时数据库 最佳答案 Firebase 实时数据库没有单独的计数操作。您必须下载父节点 (g
我正在尝试编写规则来保护数据库。但是我对编写阻止从数据库中删除任何节点的规则感到困惑。我已阅读关于 newData.exists但是当我尝试在模拟器中运行它时,删除成功了!由于可以通过将节点的值设置为
当我在ES中为文档建立索引时,我试图在刷新间隔内访问同一文档,并且搜索未返回结果。是否有Realtime GET支持,该支持允许一旦索引后就获得文档,而不管索引的“刷新率”如何。我尝试将refresh
可以将int / long序列化为enum吗? 以前我的模型是这样的: class A(var style: Int = STYLE_NORMAL) : Parcelable, Observable{
我需要在数据库和存储中存储某些变量。但重要的是要确保该变量将保存在两个数据库中,而不仅仅是一个数据库中,此外,该变量必须具有相同的值。但我发现存储和数据库没有进行通信。我该如何解决这个问题? 最佳答案
我想同时更新状态并删除打开的状态。 This is my database private void loadOrders() { FirebaseRecyclerOptions o
为了让 Android 用户通过我的应用程序注册和登录,我设置了 .read 和 .write 为 true。我的问题是任何人都可以访问用户 JSON 文件,因为它是公共(public)。如何仅通过应
我需要什么:当我在输入文本中按下键盘上的任意键时,我将其替换为字符串的内容。 这就是我所拥有的:https://jsfiddle.net/ypcxu27o/ function edValueKey(
我正在尝试用 Javascript 编写一个简单的音乐音序器。 声音将由 SoundManager2 播放 我很快意识到 setTimeout 和 setInterval 对这种计时毫无用处。它们的准
根据我过去读到的内容,我们鼓励您不要以编程方式更改 Windows 应用程序的优先级,如果您这样做,则永远不要将它们更改为“实时”。 与“高”和“高于正常”相比,“实时”进程优先级设置有何作用? 最佳
我们正在使用 firebase 实时数据库在 flutter 中开发一个应用程序,为不同的客户提供多种服务。我想为每个使用相同 firebase 项目的客户提供不同的数据库。由于 firebase 在
请帮我用快光工具包(FLTK)1.3.8绘制实时图形。我用的是eclipse CDT。已参考此位置的一些代码,但无法提供帮助。我是(外国语)的初学者。需要绘制单变量,就像这样,请帮助。对不起,我说英语
我在 Firebase 上创建了一个新项目,并在其中创建了一个实时数据库。当被问及我的数据库的安全规则时,我选择在测试模式下启动。 现在 Firebase 控制台中我的数据库的安全规则显示为: {
{ "rules": { "Users": { "$user_id": { // Grants write access
我有一个带有 I2C 温度传感器的 Raspberry Pi。 Python代码: import board import adafruit_mlx90614 import time i2c = bo
这是Firebase数据列表的图像,我试图借助以下两篇文章在我的angularDart项目中显示 1)https://qiita.com/tatsu/items/91bf9b01fd3e5d55cd0
我是一名优秀的程序员,十分优秀!