- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我有以下 firestore 结构和一种从数据库获取用户提要的方法。
我需要像这样链接我的流
首先是来自 User/FeedIDs 集合的所有 feed ID
然后对于每个 feedID,获取 feed 详细信息的文档并返回到它们的列表。
我可以找到解决这个问题的方法,因为 toList()
不工作或者我做错了什么。
// User Collection
- User
- RandomDocumentID
- Feed
- FeedIDasDocumentID
- field1
- field2
.
.
// Feed Collection
- Feed
- RandomDocumentID
- field1
- field2
.
.
// Method in my repository to get feed for User
Observable<Feed> getCurrentUserFeed(String uid) {
return Observable(Firestore.instance
.collection('User')
.document(uid)
.collection("FeedIDs")
.snapshots()
.expand((snapshots) => snapshots.documents)
.map((document) => UserFeed.fromMap(document.data))
)
.flatMap((userFeed) => Firestore.instance
.collection("Feed")
.document(userFeed.id)
.snapshots()
)
.map((document) => Feed.fromMap(document.data));
// ????
// I tried to put .toList() and of the stream but it is not working,
// i wanna return List<Feed> instead of every single feed object
}
// in my BLoC
// I had to do that because I could acquire to get streams elements as a list
//
List<Feed> feedList = List();
FirebaseUser user = await _feedRepository.getFirebaseUser();
_feedRepository.getCurrentUserFeed(user.uid).listen((feed) {
feedList.add(feed);
dispatch(UserFeedResultEvent(feedList));
};
如果有任何其他链接方法,我们将不胜感激。谢谢
最佳答案
我认为这里的问题是 Firestore
被设置为在记录发生变化时发送更新。当您查询 snapshots
时,它是一个永远不会发送 done 事件的 Stream,因为新的更新总是会进来。
如果流不发送完成事件,Stream 上返回 Future 的一些方法将永远不会完成。这些包括 .single
和 .toList()
。您可能正在寻找 .first
,它将在第一个事件通过流(数据库中记录的当前状态)发送后完成并停止监听更改。
关于dart - 如何在 flutter 中返回流中的对象列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53925079/
不确定是否有解决此问题的方法。我想知道是否有一种方法可以检测浏览器何时实际更新用户界面。 假设我想在运行长时间运行的同步代码块之前向元素添加一个类,在同步函数运行之后,该类将被删除。 el.class
给定这段代码: $('#foo').css('height', '100px'); // or any other change to the DOM console.log('done!'); 当第
有没有办法全局 console.log() Reflux 中所有触发的 Action ?理想情况下同时打印它们的参数。 最佳答案 正如 Cory Danielson 所说,Reflux 使用 Even
出于某种原因,每次我在我的 React 组件中触发一个 Action 时,与该 Action 关联的存储方法都会触发两次。使用 Firefox 调试器,我注意到事件发射器似乎“发射”了两次 Actio
我正在处理一个包含用户可调整大小的列的网页,并且在调整列大小时遇到重排问题,这会导致元素在列变窄时被下推和不对齐。然而,谷歌文档似乎没有这个问题;您可以调整文档列表的大小,它会 chop 文本而不
好吧,我遇到了我认为是优化问题的问题。我写了一个简短的应用程序,它从两个字段中获取数据,逐个字符地将它们分开并将它们相互匹配,突出显示差异。问题似乎是因为函数循环并且不仅一次打印每个字符,而且一次一个
我在阅读两个 CSS 属性 display:none 和 visibility:hidden 之间的区别时遇到了 DOM reflow 术语。 声明是 display: none causes a D
页面呈现流程 在讨论页面重绘、回流之前。需要对页面的呈现流程有些了解,页面是怎么把html结合css等显示到浏览器上的,下面的流程图显示了浏览器对页面的呈现的处理流程。可能不同的浏览器略微会有些不
我经常读到在读取元素样式后更改样式是一种不好的做法,因为它会触发不必要的重排。考虑来自 here 的这段代码: 错误代码: elementA.className = "a-style"; var he
嗨,我有这个导航栏: text
有时我们必须强制浏览器重绘/回流以呈现某些状态。例如: window.onload = function () { setTimeout(function(){ document.getE
我是 JavaScript 和 D3 新手,我正在尝试修改 DOM 元素的某些属性,然后进行页面重排/刷新,以便我可以看到这些更新的更改。诀窍是,我需要这种情况自动发生,而不需要任何类型的 oncli
过去我在 javascript 方面做过很多工作,包括一些 DOM 操作。从那里我了解到回流/重绘在某些情况下可能是一个很大的性能问题,并且通常应该限制在最低限度。例如,当添加一组 div 时,您应该
我最近在我的项目中使用了回流,这是一个让我很困惑的问题。 作为回流模式,我在我的 React 组件中调用操作,并在我的回流存储中获取正在监听这些操作的远程数据。我的组件会监听存储中数据的变化。例如获取
tl;dr:每次我向其添加新图表时,GraphStore 的 UUID 都会发生变化。这让我假设每个图都在创建自己独特的 GraphStore。我希望他们都共享一个商店。 我有一个包含多个图形组件的
例如,如果我做类似的事情 requestAnimationFrame(function() { el.appendChild(otherEl) el.appendChild(anoth
是否可以在 RubyMine 3.2.4 中格式化或重新缩进 html?我尝试了 Code... Reformat Code 但它似乎对 HTML 没有任何作用。我需要插件吗? 最佳答案 它确实有效。
我想知道现代网络浏览器是否有一种可靠的方法来检测文档回流和/或重绘,或者是否有任何紧迫的兴趣可能将其放入 W3 规范。 我还想知道如何使用特定于 vendor 的技巧(例如,Mozilla 显然有一个
block 项的每个可视行的第一个元素是否有一个 CSS 选择器?也就是说,想象一下有 20 个 block 元素,它们跨多行流动以适应它们的父容器;我可以选择每行最左边的元素吗? 通过查看所有元素的
我正在构建一个 React+Reflux 应用程序,除其他外,它允许创建/删除/编辑类别。到目前为止,我能够显示所有类别并通过关联的存储和操作处理 React 组件内类别的创建/删除。这一切都很好,更
我是一名优秀的程序员,十分优秀!