通过排队机制处理客户端脱机http请求

Handle offline http request client-side via queuing mechanism

本文关键字:客户端 脱机 http 请求 处理 机制 排队 排队机      更新时间:2023-09-26

问题说明

我目前正在一个混合的移动应用程序(使用ng-cordova),我应该离线模式的支持,一切都工作得很好,直到它涉及到在离线模式下的$http请求(例如:更新员工的状态)。更改已在本地数据库更新,但我想发送所有这些请求,只要移动连接到互联网。我已经尝试了$http拦截器,但它不坚持的请求,如果应用程序得到刷新。有什么建议吗?

我有类似的问题,我认为有一个很好的解决方案…所有和服务器一起工作的应用都有同步,对吧?这个同步有经典的强制性声明,我们的应用有网络吗?第一个需要同步的问题和条件是这个。然后,当同步的第一部分检测到设备没有互联网时,我的应用程序抛出这个方法:

public void ThrowPendingThread(final Activity context){
    if(pendingInformation == null || !pendingInformation.isAlive()) {
        pendingInformation = new Thread(new Runnable() {
            public void run() {
                try {
                    while (true) {
                        if (isNetworkAvailable(context)) {
                            MainActivity.CanUpdate = true;
                            SecondSync_ReceiveInfo(context);
                            break;
                        } else {
                            Log.e("-- Sync_Class.SecondSync_Class --", "Time to sleep!!");
                            Thread.sleep(10000);
                        }
                    }
                } catch (Exception ex) {
                    Log.e("-- Sync_Class.SecondSync_Class --", "Exception", ex);
                }
            }
        });
        pendingInformation.start();
    }
}

这个方法在第一步,检查这个线程是否激活/活着,如果不存在,然后抛出它。当这个线程每10秒运行一次时,检查我们设备的连接,当检测到互联网时,就会抛出我们的同步并停止线程。这是后台进程,如果我们的应用程序也在第二平面…

告诉我,如果我帮助你和良好的编程!