函数调用 returns Promise {_U: 0, _V: 0, _W: null, _X: null} 而不是 true 或 false
Function call returns Promise {_U: 0, _V: 0, _W: null, _X: null} instead of true or false
我正在尝试在单独的文件中调用我的 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
它 return 承诺 Promise {_U: 0, _V: 0, _W: null, _X: null}
。
如何将其修复为 return 布尔值?
异步函数总是returns一个承诺,要解决它你需要等待它,所以只需在connectionStatus
函数前面添加等待。
const isConnected = await connectionStatus();
如果您使用 react saga
(生成器)来实现它,您可以使用 yield
而不是 await
。
const isConnected = yield connectionStatus();
我正在尝试在单独的文件中调用我的 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
它 return 承诺 Promise {_U: 0, _V: 0, _W: null, _X: null}
。
如何将其修复为 return 布尔值?
异步函数总是returns一个承诺,要解决它你需要等待它,所以只需在connectionStatus
函数前面添加等待。
const isConnected = await connectionStatus();
如果您使用 react saga
(生成器)来实现它,您可以使用 yield
而不是 await
。
const isConnected = yield connectionStatus();