问题标签 [meteor-methods]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
384 浏览

javascript - Meteor-React:如何在 Meteor.call 回调完成后重新渲染 setState 内的状态?

事件摘要:
我单击编辑按钮。
editForm() 在 render() 中使用 this.setState() 和 this.state 显示表单。
上面的 setState() 将 {this.state} 作为我需要显示的值。
一旦我单击表单内的更新按钮,updateMessage() 就会激活,其中 Meteor.call 包含一个回调选项。
这个回调函数有 this.setState() 连接到我上面提到的那个 {this.state}。

那么如何在 Meteor.call() 回调和 setState() 之后显示 {this.state}?

-注意- 将 { this.state } 放入 render() 将在回调后显示。

下面是代码:editMessage () 中的 this.state.show_error_or_noerror 是我需要显示的。

0 投票
1 回答
348 浏览

javascript - Meteor.call 和 Meteor.methods 不能在移动设备 (iOS) 上运行,但可以在 web 和 iOS 模拟器上完美运行

不完全确定如何放置,但 Meteor.call 和 .methods 在专门在 iOS 上的移动设备上构建应用程序时不起作用,尽管我还没有在 Android 上尝试过。在我之前的项目中,这不会发生。我尝试与另一个应用程序进行比较,实际上,我在这个新应用程序中重用了另一个应用程序,但它只是不起作用。此外,一切都在 web 和 iOS 模拟器上运行良好。有人请帮忙。

导入/启动/服务器/methods.js

导入/启动/ui/pages/home.js

进口/启动/服务器/index.js

服务器/main.js

0 投票
1 回答
45 浏览

reactjs - 多个用户未收到 Meteor 方法调用的结果 - 工作一次,然后返回未定义?

好的,这是一个有趣的。我正在对 Meteor 中的用户列表进行排序,并尝试将用户的索引号返回给客户端。即我希望创建的第一个用户是位置 1,创建的第二个用户是位置 2,第三个用户位置是 3,等等。

我在服务器上使用 Meteor 方法:

上面的服务器代码在终端中完美运行,除了“return pos”行,这使得代码为第一个用户(我看到位置 1)将值传递给客户端,但为后续用户中断(res 未定义) . 如果我删除“return pos”行,那么代码在服务器上对所有用户都可以完美运行,但我无法从客户端上的 Meteor 方法调用中获得单个结果

下面的这个客户端代码无法从服务器上的方法调用中接收结果,我不知道为什么:

另外,我是新手,所以对于任何明显的格式错误,我深表歉意,如果您觉得有必要,请指出。谢谢!

0 投票
1 回答
1679 浏览

meteor - 异步函数回调中的异常:TypeError:回调不是函数

我无法弄清楚为什么我位于server/main.js 中的插入查询代码会导致此: TypeError: callback is not a function错误消息。

以下代码位于:server/main.js

下一行是插入查询:

当我运行代码时,没有插入到Messages 集合中,我也没有在浏览器控制台中收到任何错误消息,但是当我检查终端时,我看到以下错误消息:

这是我在终端中收到的错误消息

当我注释掉插入查询时,错误消息消失了,导致我认为我编写此插入代码的方式有问题。

请帮我弄清楚这里做错了什么。

期待您的帮助

0 投票
1 回答
189 浏览

javascript - 在彼此内部的一系列 Meteor.call() 中,原始调用提前返回

我制作了一个 Meteor.Method(我们称之为 fullFlow),它本身调用了一堆 Meteor 方法。我的目标是异步调用后续方法,因为后续方法需要前一个方法的 res 才能完成工作。

问题是,fullFlow 的回调在它运行的系列中的第一个方法之后返回,因为第一个方法获得了返回值(然后将其传递给下一个方法等)。

这是我的问题:我希望 fullFlow 方法等到系列中的最后一个方法完成并将其值返回给 fullFlow 的回调。

我假设我的结构都是错误的,这就是发生这种情况的原因。如果有人可以帮助我并修复我的流程或解释我缺少的内容,我将不胜感激,以便我可以修复它!

这是代码:

现在发生的情况是,当 step1 的回调与 res 一起调用时,它也在调用 fullFlow 的主回调。奇怪的部分是 fullFlow 方法的其余部分仍然继续执行并按预期运行(即,它在进入下一个方法之前等待前一个方法的 res 并正确传递它),但是通用回调已被触发。

我的问题是我需要让这个 fullFlow 函数连续运行。我的目标是等待函数的回调被调用,然后在该回调中,调用函数本身重新开始。如果在完整系列方法完成之前调用回调,这将无法正常工作。我还需要将系列中调用的最后一个方法的 res 返回到 fullFlow 回调!

有任何想法吗?

0 投票
0 回答
41 浏览

javascript - Meteorjs 延迟回调

流星版 METEOR@1.5.1

我在流星方法上遇到错误。当我调用方法并完成它的工作时,控制台会抛出这样的错误。

这是方法

这是方法调用

0 投票
1 回答
269 浏览

meteor - Meteor 从服务器的方法手动强制重启服务器

我想从服务器的方法重新启动应用程序

我试过process.exit(1);但它停止执行但没有重新启动服务器。

在此之前我想更改系统的默认数据库

如果我尝试

然后它会更新数据库 url,即使在刷新页面时它给了我mongodb://localhost:27017/testin 服务器但它使用mongodb://localhost:3001/meteor

如何使用新连接的数据库并在新数据库中设置所有默认集合?

0 投票
1 回答
58 浏览

javascript - TheMeteorChef createUser 方法已经存在?

我不明白,我创建了这个方法

当我调用它时:

我在服务器端有这个错误:

所以,如果我改变了方法的名称是有效的。

但是,我想了解

1)为什么已经定义了'createUser'?

2)'createUser'默认方法来自哪里?

谢谢 ;-)

0 投票
1 回答
633 浏览

mongodb - Meteor: "Cannot read property '_id' of undefined" when calling Insert Method from client

I'm getting "TypeError: Cannot read property '_id' of undefined" when I attempt to use a Meteor Method on the client that inserts an object into a Mongo collection. I am using Collection2-core and Validated Method. The client side code that attempts to call the method is:

And the Method/Collection is defined within the module imports/api/events.js:

The eventSchema itself doesn't specify an _id field but all the other fields check out. Curiously, when I try to do a straight insert of the same object into the Collection from the server on startup, it works fine and there's no problem. What could be causing this issue from the method?

The entire error text is:

0 投票
1 回答
1857 浏览

meteor - Meteor:使用异步方法

我正在将 React 与 Meteor 一起使用。我在 React 组件中有一个调用 Meteor.method 的方法(它也在客户端上运行):

在客户端 Meteor 我有方法:

注意:Meteor.loginWithGoogle 由 accounts-google 包提供。测试时,我能够导航到谷歌登录页面,登录并重定向回我的应用程序),然后打印日志。

这里注释的代码是旧方法。请注意,我有带有数字的 console.log 调用,数字表示我期望代码执行的顺序。旧方法根本不起作用,console.log('5') 运行早于(3 和 4),由于异步执行。用 async/await 重写给出了这个:

因此,从日志中我可以看到代码按预期执行。在 auth.js:7 里面我有 err == undefined,但是在 index.js(反应部分)里面是 errorClass。

我们如何处理 Meteor 方法中的异步代码?