Meteor:什么时候 this.isSimulation 比 Meteor.isClient 更有用?

2024-01-08

this.isSimulation的定义:

Access inside a method invocation. Boolean value, true if this invocation is a stub.

Meteor.isClient 的定义:

Boolean variable. True if running in client environment.

this.isSimulation 在什么情况下有用?为什么我不能总是使用 Meteor.isClient?

我正在使用 Meteor.isClient 来检查客户端文档是否使用此简单架构属性与服务器同步:

unsynced: {
  type: Boolean,
  autoValue: function () {
    return Meteor.isClient;
  }
}

它似乎有效,但其他人说使用 this.isSimulation,但在这里这样做对我来说不起作用。


我正在接受 Slava 的评论并将其转化为答案;) 这个想法是isSimulation可能在任何地方都可以实现,无论是在服务器上还是在客户端上。它仅在内部有用Method语境。正如 Slava 所说,当一个服务器充当另一个服务器的客户端时,可以使用模拟。

isClient可以用于各种代码,而不仅仅是内部Method。它可以防止代码在可能引发错误的环境中执行(例如使用Session在服务器上)。

为了延迟补偿,您经常在客户端和服务器上运行相同的方法,但如果您将数据插入数据库,显然客户端只能模拟这一点。因此,有时确定模拟是否正在运行或数据库是否实际更改是有帮助的。

根据您的情况,您可能需要调整检查服务器是否保存文档的方法以使其更加可靠。为此我会添加一个isServer阻止进入方法以设置标志synced to true并将其设置为false每当客户端更改数据时。理想情况下将其与成功的更新/更新插入结合起来。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Meteor:什么时候 this.isSimulation 比 Meteor.isClient 更有用? 的相关文章

  • 告诉 Iron Router 不要拦截链接

    我正在将相当大的应用程序迁移到 Iron Router 在客户端 所有未知路由都被重定向到 404 此外 有些路由是从服务器端管理的 例如 static 仅通过中间件显示静态页面 问题是 Iron Router 现在拦截所有链接点击 所以当
  • Meteor-AutoForm:如何根据另一个控件更新选择选项

    我一直在寻找一些问题的答案 这些问题应该非常简单 但我一生都无法弄清楚 基本上我有一个带有两个选择控件的meteor autoform
  • 在 Meteor 应用程序中使用 Disqus / reCaptcha

    我正在开发一个使用 Meteor 的应用程序 我正在尝试在我的其中一个表单上使用 reCaptcha 并在我的某些页面上使用 Disqus 评论系统 但问题是 当我运行流星服务器时 这些都没有被渲染 以下是我添加到模板中的示例 Disqus
  • 文件正在被分配一个 //# sourceMappingURL 但已经有一个

    我只是注意到 Firefox 控制台为我的项目中的每个 js coffee 文件 甚至是包 输出以下错误 file is being assigned a sourceMappingURL but already has one Chrom
  • 如何更改Accounts-UI模板?

    根据望远镜 http demo telesc pe 例子 源代码 https github com SachaG Telescope 可以显示自定义的 account ui 表单 参见他的用户登录 html https github com
  • “栅栏已经激活——来不及添加写入”

    下面的错误信息是什么意思 栅栏已经激活 来不及添加写入 以下是如何获取它的示例 环境 Mac OS X http en wikipedia org wiki Mac OS X Lion 流星0 3 8 项目创建 meteor create
  • 使用 Fourseven:scss 在 Meteor 中加载 css

    我正在使用 fourseven scss 来编译 scss 文件 如果我包括我的 这似乎工作正常 scss客户端目录下的文件 不过我想把它们留在我的组件附近 imports ui stylesheets 或者就在组件旁边 imports u
  • 流星合并同一集合的光标

    在我的社交应用程序 如 FB 中 我有一个奇怪的需要 将同一集合用户的两个光标合并到一个发布中 Meteor 服务器打印此错误 发布函数为集合用户返回了多个游标 也许这在 Meteor 0 7 2 中无法完成 也许我的方法是错误的 但我发现
  • 如何在 Meteor 中将 forbidClientAccountCreation 设置为 false?

    Meteor 中的默认设置不允许从客户端创建帐户 这在许多应用程序中出于安全目的是有意义的 但我正在构建一个博客 需要允许用户创建一个帐户 以便他们可以发表评论 github stackoverflow 和各种教程上的典型响应似乎建议将以下
  • 如何在带有流星的车把助手中使用多个参数?

    我正在尝试使用 Meteor 创建一个自定义助手 以下是此处的文档 https github com meteor meteor wiki Handlebars https github com meteor meteor wiki Han
  • Meteor.WrapAsync 不返回值

    我一直在努力工作Meteor WrapAsync我读过了Meteor wrapAsync 语法 https stackoverflow com questions 26058205 meteor wrapasync syntax回答这个视频
  • Chimpjs 和 Meteor:不使用 Velocity 的测试中的方法调用

    此应用程序显示了使用 Cucumber 测试 Meteor 的示例 https github com mhurwi cucumber meteor tutorial https github com mhurwi cucumber mete
  • nodejs googleapis,authClient.request 不是函数

    我正在像这样的一个函数中创建一个 oauth2client 并返回它 实际上 我确实传递了客户端 ID 秘密 重定向 URL 和凭据 据我检查 这些都是正确的 var OAuth2 google auth OAuth2 var oauth2
  • 如何在 Meteor 中读取依赖于另一个集合的集合

    我正在尝试从集合中加载最新的帖子 同时加载同一篇帖子的所有评论 该集合具有引用 而不是将整个文档存储在彼此内部 Post title body etc Comment postId body etc 我使用iron router作为路由包
  • 将服务连接到现有的流星帐户

    我正在设置一个流星应用程序 其中涉及使用用户名和密码进行注册 然后希望将该帐户与 Facebook 和 Twitter 连接起来 我只需使用帐户包即可轻松启动并运行第一部分 但是当我有一个登录用户调用 Meteor loginWithFac
  • 使用 account.ui 包验证电子邮件

    我想在创建某个用户时发送验证电子邮件 我使用帐户密码包 因此在我的代码中调用任何帐户方法 我在文档中读到我需要调用 Accounts sendVerificationEmail userId email 但问题是我不知道什么时候调用它 我尝
  • 如何强制 Meteor 重新加载订阅?

    在我的应用程序中 sections是一个链接到的集合courses通过一个名为course sectionIds 初始加载工作正常 但在管理面板中添加部分时遇到非反应式连接问题 这是路线 route adminCourse path adm
  • MongoDB:如果使用 $addToSet 或 $push,是否应该预先分配文档?

    我一直在研究 MongoDB 我知道强烈建议在插入时完全构建 预分配 文档结构 这样将来对该文档的更改不需要移动该文档磁盘周围 这在使用 addToSet 或 push 时适用吗 例如 假设我有以下文档 id rsMH4GxtduZZfxQ
  • 如何在 Ubuntu VirtualBox 中运行 Meteor 应用程序并使用 Windows 主机上的编辑器进行编辑?

    我希望在运行 Ubuntu 的 virtualbox 来宾中运行一个用于开发目的的流星服务器 该项目将位于主机上的一个文件夹内 该文件夹将共享给来宾 该文件夹本身位于 Dropbox 文件夹内 这样我可以在多个虚拟机和工作站之间共享开发 但
  • 流星图像、CSS、“普通”Web 服务

    我经常看到这个问题出现 如何在我的 Meteor 网站上放置图像 如何使用 Meteor 托管 标准 网页内容 我尝试添加一个 img src img myimage png 标签但没有图像显示 如何在 Meteor 站点上托管一些文件 将

随机推荐