---
name: "onNetworkStatusChange"
mode: "kit"
versionRequirements:
  - { name: "BaseKit", version: "2.0.1" }
platform:
  - "iOS"
  - "Android"
async: true
title: "onNetworkStatusChange - 监听网络状态变化事件"
---

## onNetworkStatusChange

> [VERSION] BaseKit >= 2.0.1

> [PLATFORM] iOS, Android

> ⚡ **支持 Promise 调用** — 不传 success / fail / complete 回调时，该方法返回 Promise。

### 描述

监听网络状态变化事件 注意：在Android上，该事件只通知网络状态的变化。如需获取最新的网络状态信息，请重新调用getNetworkType接口。 注意：在Android上，网络状态发生改变时，系统并不一定立马变更网络状态信息，存在一定的延迟。因此触发该事件时，业务上可能需要延迟调用getNetworkType接口，以便获取最新的信息。

### 参数

`(listener: Function)`

| 参数 | 类型 | 必填 | 默认值 | 描述 |
| --- | --- | --- | --- | --- |
| `listener` | `(params: Object) => void` | 是 | - | 事件监听回调函数 |

##### onNetworkStatusChange.listener(params) 的属性

| 属性 | 类型 | 必填 | 默认值 | 最低版本 | 描述 |
| --- | --- | --- | --- | --- | --- |
| `isConnected` | `boolean` | 是 | - | `2.0.1` | 当前是否有网络连接 |
| `networkType` | `string` | 是 | - | `2.0.1` | 网络类型 |


### 示例代码

```tsx
// 监听网络状态变化，切换网络（开关 WiFi / 飞行模式）时回调返回是否连接及网络类型
ty.onNetworkStatusChange(e => {
  console.log("网络变化：", e.isConnected, e.networkType);
});
// 状态变化需切换网络触发，保持监听一段时间
await new Promise(resolve => setTimeout(resolve, 8000));
```
