【问题标题】:Function call returns Promise {_U: 0, _V: 0, _W: null, _X: null} instead of true or false函数调用返回 Promise {_U: 0, _V: 0, _W: null, _X: null} 而不是 true 或 false
【发布时间】:2021-12-20 01:35:22
【问题描述】:

我正在尝试在单独的文件中像这样调用我的 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); 

它返回了一个承诺 Promise {_U: 0, _V: 0, _W: null, _X: null},而不是 truefalse

如何解决此问题以返回布尔值?

【问题讨论】:

  • 试试const isConnected = await connectionStatus();

标签: javascript reactjs react-native promise


【解决方案1】:

异步函数总是返回一个promise,要解决它你需要等待它,所以只需在connectionStatus函数前面添加await即可。

const isConnected = await connectionStatus();

如果你使用react saga(生成器)来实现它,你可以使用yield而不是await

const isConnected = yield connectionStatus();

【讨论】:

    猜你喜欢
    • 2022-01-14
    • 2022-01-05
    • 2022-01-14
    • 2021-03-02
    • 1970-01-01
    • 1970-01-01
    • 2021-04-21
    • 2021-11-26
    相关资源
    最近更新 更多