gpt4 book ai didi

javascript - Meteor.call 获取服务器时间以设置对象的属性?

转载 作者:行者123 更新时间:2023-11-30 12:36:06 25 4
gpt4 key购买 nike

我想在我的数据库条目中使用时间日志,并且我希望时间始终从服务器获取。

到目前为止我已经设置好了:

Meteor.methods({
getTimeFromServer: function () {
var serverTime = new Date().toLocaleTimeString();
return serverTime;
}
});

我想像这样使用它们:

Template.myTemplate.events({
'click .btn': function(e) {
var propsOfObject = {
name: $('#idName').val(),
email: $('#idEmail').val(),
time: Meteor.call('getTimeFromServer')
}
Meteor.call('addItemToDataBase', propsOfObject)
}
});

无法弄清楚我做错了什么。我没有收到任何错误消息。 “时间”属性只是空的。

最佳答案

首先,您的方法不起作用,因为客户端上的 Meteor.call 始终是异步的:它不会立即返回任何内容,您必须在一段时间后提供回调以获取结果。

这里有更多内容:Meteor.methods returns undefined

我认为您应该直接在插入方法中获取服务器时间,而不是在插入之前尝试从服务器获取它:它会节省您的方法调用,而且也更简单。

客户:

Template.myTemplate.events({
'click .btn': function(e) {
var propsOfObject = {
name: $('#idName').val(),
email: $('#idEmail').val()
};
Meteor.call('addItemToDataBase', propsOfObject)
}
});

服务器:

Meteor.methods({
addItemToDatabase:function(fields){
check(fields,{
name:String,
email:String
});
//
_.extend(fields,{
time:new Date().toLocaleTimeString()
});
//
MyCollection.insert(fields);
}
});

关于javascript - Meteor.call 获取服务器时间以设置对象的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26039926/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com