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 更有用? 的相关文章

  • 重新渲染模板时的 Meteor 回调

    我目前有一个模板 其中包含 each 在其中循环 我正在尝试找到一种方法来触发特定功能 each 循环已完成 Template rendered仅在第一次渲染模板时运行 因此不幸的是 这不起作用 有什么可以做到这一点吗 我就是这样做的 Te
  • Meteor 文件上传不工作

    我已将包 cfs standard packages 和 cfs filesystem 添加到我的 Meteor 项目中 我想使用带有此输入的表单为我的博客上传精选图像 div class form group div
  • Meteor React 教程第 2 步不起作用

    我正在做 Meteor React simple todos 教程 第一步只是创建应用程序 cd 进入应用程序目录并运行meteor 到目前为止 一切都很好 我按照步骤 2 中的说明进行了更改 但未显示待办事项列表 我得到一个空白屏幕 代码
  • nodejs googleapis,authClient.request 不是函数

    我正在像这样的一个函数中创建一个 oauth2client 并返回它 实际上 我确实传递了客户端 ID 秘密 重定向 URL 和凭据 据我检查 这些都是正确的 var OAuth2 google auth OAuth2 var oauth2
  • Meteor - 使用 Meteor.wrapAsync() 包装 NPM

    我正在尝试使用 Meteor wrapAsync 包装超级代理 NPM 一切正常 直到下面代码的最后一行 这导致我的流星应用程序崩溃 var superagent Meteor npmRequire superagent Example o
  • Accounts.onCreateUser 在创建新用户时添加额外属性,好的做法吗?

    我正在创建新用户Accounts createUser http docs meteor com full accounts createuser如果你不做任何花哨的事情 它就会正常工作 但我想向新用户添加一些文档中未列出的其他字段 这是我
  • 使用 JQueryUI Autocomplete 和 Meteor 的规范方法

    使用 Meteor 我想了解使用 JQuery UI 自动完成处理大量服务器端数据的最有效方法 我有两个工作提案 想听听关于差异的意见 以及是否有更好的方法来做同样的事情 使用发布 订阅 Server Meteor publish auto
  • Mongo按动态字段排序

    所以我传入了一个动态变量 它是我想要排序的字段的名称 假设下面的 sortVariable 可能等于 price createdAt name 等 这不起作用 我该怎么做 function findStuff sortVariable va
  • meteorjs 中的 imagemagick (在流星路由器和光纤的帮助下)

    我无法在meteorjs 中使用imagemagick 我正在开发一个小型 svg gt png 转换器 其中包含一个 REST API 来提供转换后的图像 我用meteor router实现了其余的api imagemagick 转换有效
  • 纤维/未来实际上有什么作用?

    下面这行代码的作用是什么 Npm require fibers future 我在网上查找示例 发现了一些这样的示例 Future Npm require fibers future var accessToken new Future 什
  • 了解新的 mongo id 并将其与 Iron-router 一起使用

    我有一个简单的帖子路线来寻找帖子 id 问题是pathFor助手创建这样的路径 ObjectID 52e16453431fc2fba4b6d6a8 我猜 mongoDB 插入已更改 现在 id对象在其内部包含另一个对象 称为 str 这是我
  • 为什么我的带有帐户包的 Meteor 应用程序没有发送验证电子邮件?

    我正在制作一个流星应用程序 并且添加了 mrt 帐户密码包以及 mrt 帐户 ui bootstrap dropdown 我添加了登录按钮 以便用户可以创建一个帐户 效果很好 我正在使用所有默认值 在服务器上我有代码 Accounts co
  • 在 Meteor 应用程序中实现 MongoDB 2.4 的全文搜索

    我正在考虑向 Meteor 应用程序添加全文搜索 我知道 MongoDB 现在支持此功能 但我对实现有一些疑问 启用文本搜索功能的最佳方法是什么 textSearchEnabled true 在 Meteor 应用程序中 有没有办法添加索引
  • 将 mongo 数组转换为具有键值对的对象

    我有一个包含字符串数组的 mongo 文档 我需要将这个特定的字符串数组转换为包含键值对的对象数组 以下是我目前的做法 id ObjectId 57e3720836e36f63695a2ef2 platform A1 available C
  • 如何在两个或多个 Heroku dyno 上运行 Meteor 应用程序?

    我有 Meteor 应用程序 它使用 1 dyno 在 Heroku 平台上运行 当我增加测功机数量时 它会停止工作 并在客户端报告一些 XHR 问题 错误 404 有人在两个或更多 Heroku dyno 上成功运行 Meteor 应用程
  • Meteor账号-密码+账号-输入及密码确认

    我在帐户输入包和帐户密码包中都没有看到任何允许在帐户输入的注册表单中使用密码确认字段的选项 我错过了什么吗 不 它的包上没有验证密码字段 您需要自己使用简单的 JS 创建 if password validationPassword Met
  • 如何使 Meteor 上的服务器可以访问文本文件

    我很惊讶我无法在这里搜索我的答案 似乎没有其他人遇到这个问题 当您运行meteor服务时 js html等被打包在 meteor local build文件夹中 但它似乎排除了不是js或html的内容 我有一个名为 magicsets 的文
  • 将 Meteor.js 中的模块与 Typescript 一起使用

    各位 我正在尝试做一些我认为应该很简单的事情 但我一定做错了 我试图在使用 Typescript 的流星应用程序中简单地拥有一个清晰的结构 这是我的要求 所有接口在客户端和服务器端均可用 有些类的实现只能在服务器上使用 我不想依赖文件加载顺
  • 带有流星的网站图标?

    我正在尝试将网站图标加载到我的 Meteor 项目中 但无法让它工作 我尝试使用this https stackoverflow com questions 20054788 how to load a favicon with meteo
  • 使用 DataTables (Meteor Tabular) 在新行中绘制数组的每个元素

    我正在使用流星表格包 https atmospherejs com aldeed tabular aldeed tabular它实现了数据表 http datatables net 我正在尝试从 Mongo 集合创建一个表 该集合有一份以下

随机推荐