首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Ionic 2中的线程

Ionic 2中的线程
EN

Stack Overflow用户
提问于 2017-02-06 21:01:44
回答 2查看 3.4K关注 0票数 1

我正在尝试创建一个线程来不断检查应用程序的网络状态,以便它可以发送到我的远程数据库。我如何在ionic 2中使用Ionic-native来处理这个问题。

诚挚的问候

EN

回答 2

Stack Overflow用户

发布于 2017-02-07 02:31:58

首先,你需要安装网络插件

代码语言:javascript
代码运行次数:0
运行
复制
ionic plugin add cordova-plugin-network-information

mor info here

然后你需要一个提供商来检查网络状态

代码语言:javascript
代码运行次数:0
运行
复制
import { Injectable } from '@angular/core';
import { Platform } from 'ionic-angular';
import { Network } from 'ionic-native';

@Injectable()
export class NetworkService {
onDevice: boolean;

constructor(
    private platform: Platform,
) {
    this.onDevice = this.platform.is('cordova');
}


isOnline(): boolean {
    if (this.onDevice && Network.type !== 'none') {
        return true;
    } else {
        return navigator.onLine;
    }
}

}

现在你可以在任何你喜欢的地方使用它

票数 0
EN

Stack Overflow用户

发布于 2017-02-08 22:16:07

如果您遵循以下步骤:

https://github.com/GoogleChrome/samples/blob/gh-pages/service-worker/read-through-caching/index.html#L95

您将能够注册随Ionic 2应用程序提供的service-worker.js。

您可以在此处找到有关服务工作者如何工作的更多文档:

https://developers.google.com/web/fundamentals/getting-started/primers/service-workers

您可能需要将@armin的响应与此响应结合使用。

安装:

代码语言:javascript
代码运行次数:0
运行
复制
ionic plugin add cordova-plugin-network-information

然后:

  1. 注册您的服务-worker.js
  2. 在您的服务工作器中创建将访问您的服务器的事件。

使用如下代码(此代码需要添加到您的ionic应用程序中,而不是您的service-worker.js中):

代码语言:javascript
代码运行次数:0
运行
复制
import { Network } from 'ionic-native';

//watch network for a disconnect
let disconnectSubscription = Network.onDisconnect().subscribe(() => {
    console.log('network was disconnected :-(');
    // Warn your service worker about this and create a queue or
    //something to notify your server when you get connection again.
});

//watch network for a connection
let connectSubscription = Network.onConnect().subscribe(() => {
    console.log('network connected!');
    // We just got a connection but we need to wait briefly
    // Notify to your service-worker.js about this and hit your server.
});

我认为你想要这样的东西。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42068470

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档