我試圖在一個單獨的檔案上像這樣呼叫我的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);
而不是trueorfalse它回傳了一個 promise Promise {_U: 0, _V: 0, _W: null, _X: null}。
我如何解決這個問題以回傳一個布林值?
uj5u.com熱心網友回復:
異步函式總是回傳一個承諾,要解決它你需要等待它,所以只需在connectionStatus函式前面添加 await 。
const isConnected = await connectionStatus();
如果您使用react saga( generators ) 來實作它,則可以使用yield代替await.
const isConnected = yield connectionStatus();
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/351492.html
標籤:javascript 反应 反应原生 承诺
下一篇:有沒有辦法將從APISAUCEAPI收到的回應存盤到異步存盤中作為快取,并在ReactNative的平面串列中顯示它
