Node.js 如何在调用服务器方法时处理连接超时

Node.js 如何在调用服务器方法时处理连接超时,node.js,meteor,error-handling,connection-timeout,Node.js,Meteor,Error Handling,Connection Timeout,如何使用服务器端方法处理连接超时?我大部分时间使用meteor来开发移动ios/android应用程序(没有网络应用程序,真正的appstore版本),移动用户经常会出现连接超时。所以有时候他们在点击按钮时没有得到反馈,因为连接太差了 e、 g.我有一个服务器端-only方法,可以在集合MyTextCollection 所以我的方法看起来像这样 Meteor.methods({ addTextToMyTextCollection: function(text) { //s

如何使用服务器端方法处理连接超时?我大部分时间使用meteor来开发移动ios/android应用程序(没有网络应用程序,真正的appstore版本),移动用户经常会出现连接超时。所以有时候他们在点击按钮时没有得到反馈,因为连接太差了

e、 g.我有一个服务器端-only方法,可以在集合
MyTextCollection

所以我的方法看起来像这样

Meteor.methods({
    addTextToMyTextCollection: function(text) {
        //some input checks and error stuff here 
        //if something is wrong It will throw new Error.

        ...

        //everything is fine so insert text into collection
        MyTextCollection.insert({text:text});

        return someResult
    }
});
在客户方面,我会打电话

Meteor.call("addTextToMyTextCollection", myTextILikeToStore, function(error, result){
  if (error) {
    // I have an error 
  else {
    // I have a result
  }
});
我的问题是,我不知道如何处理一个坏的wifi/4G等连接在这里给一些反馈,让用户等待(如加载请等待或您的连接断开重试)。当我的
权限
或我用作参数的
文本出现问题时,该方法只是返回一个
错误
。否则它将返回
结果

在方法调用未返回任何内容后,是否可以限制客户端抛出错误的时间

当我的设备能够调用
addTextToMyTextCollection
方法,但收到结果/错误时连接中断时,会发生什么情况?我如何为我的UI处理这个问题


我不喜欢乐观的UI(服务器/客户端的方法调用),因为它并不总是预期的结果(例如,询问客户端无法知道的仅服务器的信息)

我建议使用一个全局自动运行块,通过监视连接状态。当连接丢失时,您可以使用它来显示错误消息。

这是我现在正在做的,但这并不能解决连接速度慢的问题。连接状态标志(例如,存储在会话变量中)只是说:好的,我已连接到服务器,我正在连接,或者连接已断开。这只是一个“是”或“不是”的解决方案,但不是“该死的,你的连接太慢了”-修复