首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >流星Deps.Autorun知道数据何时被完全获取

流星Deps.Autorun知道数据何时被完全获取
EN

Stack Overflow用户
提问于 2014-08-10 02:35:47
回答 2查看 176关注 0票数 1

在第一次运行Deps.autorun之后,是否有一种方法可以知道数据最初是什么时候完全从服务器上获取的?

例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Deps.autorun(function () {
    var data = ItemsCollection.find().fetch();
    console.log(data);
});

最初,我的控制台日志将显示Object { items=[0] },因为尚未从服务器获取数据。我能应付这第一轮。

但是,问题是,每当收到数据时,函数就会重新运行,而在加载完整集合时,数据可能不是这样。例如,我有时会很快地收到Object { items=[12] },然后是Object { items=[13] } (这不是由于另一个客户端更改数据造成的)。

那么--是否有一种方法可以知道某一依赖函数及其内的所有集合何时发生了满载?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-08-10 03:06:38

Meteor.subscribe返回一个带有反应性就绪方法的句柄,当“发送了记录集的初始完整快照”时,该方法设置为true (参见准备好的)

使用这些信息,您可以设计一些简单的东西,例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var waitList=[Meteor.subscribe("firstSub"),Meteor.subscribe("secondSub"),...];

Deps.autorun(function(){
  // http://underscorejs.org/#every
  var waitListReady=_.every(waitList,function(handle){
    return handle.ready();
  });
  if(waitListReady){
    console.log("Every documents sent in publications is now available.");
  }
});

除非你是一个玩具项目的原型,这不是一个坚实的设计,你可能想要使用铁路由器(http://atmospherejs.com/package/iron-router),它提供了很好的设计模式来解决这类问题。

特别是,花点时间来看看这3段主要的铁路由器贡献者的视频:

https://www.eventedmind.com/feed/waiting-on-subscriptions

https://www.eventedmind.com/feed/the-reactive-waitlist-data-structure

https://www.eventedmind.com/feed/using-wait-waiton-and-ready-in-routes

票数 1
EN

Stack Overflow用户

发布于 2014-08-10 03:00:16

您需要在某个地方存储订阅句柄,然后使用ready方法确定初始数据加载是否已经完成。

因此,如果您使用以下方法订阅集合:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
itemSub = Meteor.subscribe('itemcollections', blah blah...)

然后,您可以用以下内容包围findconsole.log语句:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
if (itemSub.ready()) { ... }

只有在接收到初始数据集之后,才会执行它们。

请注意,如果集合很大,并且您正在处理重要的延迟,则集合句柄在接收到某些项之前可能会稍微返回ready,但问题应该非常小。有关ready ()方法实际工作的原因和方式的更多信息,请参见

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25227732

复制
相关文章
将tensor转换为图像_tensor转int
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/07
11.4K0
双精度,单精度和半精度
浮点数是计算机上最常用的数据类型之一,有些语言甚至数值只有浮点型(Perl,Lua同学别跑,说的就是你)。
用户1148523
2019/05/27
6K0
java map 转string_java-将Map <String,Object>转换为Map <String,String>
Map map = new HashMap(); //Object is containing String
全栈程序员站长
2022/08/25
12.3K0
Golang中Int32转换为int16丢失精度的具体过程
Int32转换为int16会丢失精度,这是总所周知的,但是具体如何丢失精度的,请看下面的代码:
全栈程序员站长
2022/09/21
2.4K0
Golang中Int32转换为int16丢失精度的具体过程
double转bigDecimal精度问题
double转bigDecimal精度问题 需要用到bigDecimal的字符串构造来转
全栈程序员站长
2022/09/05
2K0
double 转 BigDecimal 精度问题
很明显,经过 double 转 BigDecimal 后,我们最初的值已经发生变化,所以通常我们在做类型转换的时候推荐使用 BigDecimal.valueOf(…);
全栈程序员站长
2022/09/05
1.4K0
double转BigDecimal精度丢失[通俗易懂]
很多人在double或float转BigDecimal时习惯使用BigDecimal的构造方法new BigDecimal(33.33),此种写法会存在精度丢失问题,下面就具体实例带大家体会:
全栈程序员站长
2022/09/05
2.4K0
APP性能测评分析
1.1流畅度相关概念 刷新率 vs 帧率 刷新率:美妙屏幕刷新次数,手机品目的刷新率是60HZ 帧率:GPU在一秒内绘制的帧率
用户10443079
2023/03/21
1.7K0
APP性能测评分析
ChatGPT教你APP性能评测分析
请打开智造喵GPT地址:https://chat.plexpt.com/i/511440
用户10443079
2023/04/25
1.1K0
ChatGPT教你APP性能评测分析
【Qt源码笔记】简要说说 Qt5 中的 HighDPI 支持
想起之前在公司做的关于 HighDPI 的适配,在 Qt4 下可以说是比较繁琐,代码敲到手疼。早就听说 Qt5.6 开始支持了 HighDPI ,一直没机会看详细的代码。一直到开始做 Gal ,才刚好在 Qt5 下需要 HighDPI 支持。用过之后,真的感叹,用起来太方便了。故看了一下详细实现。不过比较遗憾的是代码中有一个小瑕疵。
Harper
2021/07/27
2.9K0
30.QT-渐变之QLinearGradient、 QConicalGradient、QRadialGradient
渐变有三种:QLinearGradient、QConicalGradient 、 QRadialGradient 它们都有一个QGradient父类 QGradient父类的常用公共函数有: void QGradient::setSpread ( Spread method ); //设置填充梯度区域外的区域,参数有: // QGradient::PadSpread :填充区域内最接近的停止颜色。这是默认的。 // QGradient::RepeatSpread : 在区域外继续重复填充 // QGrad
诺谦
2018/07/05
1.8K0
31.QPainter-rotate()函数分析-文字旋转不倾斜,图片旋转实现等待
30.QT-渐变之QLinearGradient、 QConicalGradient、QRadialGradient
诺谦
2018/07/30
2.6K0
31.QPainter-rotate()函数分析-文字旋转不倾斜,图片旋转实现等待
Qt官方示例-K线图
使用Qt的QCandlestickSeries类实现K线图绘制。 0x01 创建K线图 QCandlestickSeries *acmeSeries = new QCandlestickSeries
Qt君
2020/08/04
4.4K0
Qt官方示例-K线图
Qt官方示例-嵌套甜甜圈
  先创建一个QChartView实例并启用抗锯齿。然后从QChartView实例获得一个QChart对象。
Qt君
2020/05/08
1.5K0
Qt官方示例-嵌套甜甜圈
qml类型有那些?
以表格方式列出支持那些类型。 Qml类型与Qt类型对照表 Qml类型 Qt类型 bool bool int unsigned int, int double double real float, qreal string QString url QUrl color QColor font QFont date QDateTime point QPoint, QPointF size QSize, QSizeF rect QRect, QRectF matrix4x4 QMatrix4x4 quaterni
Qt君
2019/08/27
1.5K0
Qt官方示例-图表标注
  标注核心要点:QChart类提供了两种方法来映射场景坐标和系列域(由坐标轴范围定义)。
Qt君
2020/05/08
1.4K0
Qt官方示例-图表标注
Qt for android触摸手势事件QGestureEvent「建议收藏」
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/197398.html原文链接:https://javaforall.cn
全栈程序员站长
2022/10/03
1.8K0
qt将毫秒级时间戳转换为日期(js把对象变成字符串)
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/128759.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/28
6.7K0
Qt官方示例-极坐标图
  轴的创建与笛卡尔图表相似,但是将轴添加到图表时,可以使用极坐标方向而不是对齐方式。
Qt君
2020/03/19
3.3K0
Qt官方示例-极坐标图
java将字符串转换为json对象的方法_java jsonobject转string
在与服务器交互的时候,我们往往会使用json字符串,今天的例子是java对象转化为字符串,
全栈程序员站长
2022/11/08
21.2K0

相似问题

无法将双精度转换为双精度

22

如何将双精度*转换为双精度?

60

将0.0转换为双精度有什么问题?

52

将C++双精度转换为DEC双精度

35

如何将sql datetime2转换为双精度?

24
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文