我正试图在一个单独的文件上这样调用我的NetInfo函数:
import NetInfo from '@react-native-community/netinfo';
export default class checkNetwork {
static async isNetworkAvailable() {
const response = await NetInfo.fetch();
return response.isConnected;
}
}
Redux文件
const connectionStatus = async () => {
await checkNetwork.isNetworkAvailable();
};
const isConnected = connectionStatus();
console.log('status of network >>', isConnected);
它返回的不是true
或false
,而是承诺Promise {_U: 0, _V: 0, _W: null, _X: null}
。
如何修复此问题以返回布尔值?
Async函数总是返回一个promise,要解决它,您需要等待它,所以只需在connectionStatus
函数前面添加wait。
const isConnected = await connectionStatus();
如果使用react saga
(生成器(来实现它,则可以使用yield
而不是await
。
const isConnected = yield connectionStatus();