Javascript Meteor用户更新非常慢

Javascript Meteor用户更新非常慢,javascript,mvvm,meteor,model,prototype,Javascript,Mvvm,Meteor,Model,Prototype,我有一个meteor应用程序,允许用户更新他们的skype名称、电话号码、电子邮件地址等。为了帮助维护一致的代码库,我在一个公共目录中实现了一个EJSON类型的UserModel,以便它可以在客户端和服务器上运行 EJSON.addTypeUserModel,函数fromJSONValuevalue{ 返回新的UserModelvalue; }; 我在设置页面js文件上调用setPhoneNumbers方法,如下所示 'blur #phonenumber':function(){ var

我有一个meteor应用程序,允许用户更新他们的skype名称、电话号码、电子邮件地址等。为了帮助维护一致的代码库,我在一个公共目录中实现了一个EJSON类型的UserModel,以便它可以在客户端和服务器上运行

EJSON.addTypeUserModel,函数fromJSONValuevalue{ 返回新的UserModelvalue; };

我在设置页面js文件上调用setPhoneNumbers方法,如下所示

'blur #phonenumber':function(){
    var user = Meteor.user();
    var number = $("#phonenumber").val();
    if(number.length){
        user.setPhoneNumbers(number);
    }
}

问题是,每当我调用setPhoneNumber方法时,页面更新和锁定整个页面的时间都大于500毫秒。我查看了文档,根据我的理解,客户端代码不应该被阻塞。该页面仅在更新发生时锁定,因此我知道它与用户模型有关。任何对导致这种情况的原因的洞察都将非常有用。页面速度非常慢,对于生产应用程序来说是不可接受的

只是想更好地理解逻辑流程,为什么setPhoneNumbers方法返回_saveOrQueueUpdate?基本上,setPhoneNumbers方法需要一些时间才能运行。这可能值得一试。我是在看一本教程时学到这一点的:。您将代码包装在Meteor.setTimeout中,它将在方法内完成工作,但不会影响方法响应时间。\u saveOrQueueUpdate是一个我尚未实现的方法。实际上,它只返回Meteor.users.update{}。感谢您对设置超时的建议。这正是我想要的。太棒了!很高兴我能帮忙!
'blur #phonenumber':function(){
    var user = Meteor.user();
    var number = $("#phonenumber").val();
    if(number.length){
        user.setPhoneNumbers(number);
    }
}