[英]How to properly check network status inside redux saga
在 React Native 中學習了幾個關於 Netinfo 的教程。
我基本上想要的是正確監控和檢查網絡是否連接了移動設備。 如果已連接,則返回 true,否則返回 false。
我計划在我的 redux-saga 文件中實現它。
到目前為止,我創建了這個單獨的文件networkutils.js
:
import NetInfo from '@react-native-community/netinfo';
export default class checkNetwork {
static async isNetworkAvailable() {
const response = await NetInfo.fetch();
return response.isConnected;
}
}
然后在我的 redux saga 文件中:
const connectionStatus = async () => {
await checkNetwork.isNetworkAvailable();
};
const isConnected = await connectionStatus();
console.log('status of network >>', isConnected);
即使我在我的 redux saga 函數中調用它,它也總是返回undefined
如下所示:
export function* onAuthenticate({payload}) {
// This always returns undefined
const isConnected = yield connectionStatus();
console.log('isConnected ??', isConnected);
if (isConnected) {
yield put(setUserData(userData));
yield put(authenticateSuccess(userData));
} else {
yield put(authenticateError({payload: 'No Internet'}));
知道如何正確檢查 redux saga 中的網絡嗎?
嘗試像這樣返回它:
const connectionStatus = async () => {
const status = await checkNetwork.isNetworkAvailable();
return status;
};
看看它是否有效。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.