如何获取设备 ip - Expo React Native

How to get device ip - Expo React Native

如何使用 React Native 和 Expo 获取设备的 ip,

我正在尝试这个,我在警报中看到的只是 [object promise]。

我是 运行 模拟器和浏览器上的应用程序..

import * as Network from 'expo-network';
alert(Network.getIpAddressAsync()); 

Network.getIpAddressAsync()returns一个Promise所以需要先解决

import * as Network from 'expo-network';

const ipAlert = async () => {
  const ip = await Network.getIpAddressAsync()
  alert(ip);
};

ipAlert();

正如在 documentation 中所写,方法 Network.getIpAddressAsync() returns 一个解析为设备主网络接口当前 IP 地址的字符串的 Promise。 由于这个事实,您需要等待 promise 完成,因为它是异步的。

您可以通过在其前面附加 await 关键字来实现,如下所示:

await Network.getIpAddressAsync();

或者在之后链接一个 then 函数,像这样:

Network.getIpAddressAsync().then(function(address) {
//Your logic here
 });