在 utils.js 文件(React-Native)中调用异步函数?
Posted
技术标签:
【中文标题】在 utils.js 文件(React-Native)中调用异步函数?【英文标题】:Calling a asynchronous function within a utils.js file (React-Native)? 【发布时间】:2021-08-09 01:41:17 【问题描述】:我正在为我的投资组合构建一个 react-native 天气应用程序。
我希望能够在我的 utils.js 文件中调用辅助函数。该函数是一个异步箭头函数,负责检索经纬度坐标。
函数返回数组中的坐标,我使用析构来设置组件的状态。
但是,我在控制台中收到一条警告,说明如下:
WARN 可能的未处理的 Promise Rejection (id: 1): TypeError: undefined 不是一个对象(评估 '_$$_REQUIRE(_dependencyMap[11], "../Utils/utils").globalFunctions.getLocation')
我可能做错了什么?任何帮助都会得到帮助。
Utils.js
import Permissionsandroid from 'react-native';
import Geolocation from 'react-native-geolocation-service';
const globalFunctions =
getLocation: async () =>
const coordinates = [];
const hasLocationPermission = await
PermissionsAndroid.request(
PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION,
);
if (hasLocationPermission == PermissionsAndroid.RESULTS.GRANTED)
Geolocation.getCurrentPosition(
position =>
console.log('Geolocation Granted');
console.log(position);
const latitude = position.coords.latitude;
const longitude = position.coords.longitude;
coordinates.push(latitude);
coordinates.push(longitude);
return coordinates;
,
error =>
console.log(error.code, error.message);
,
enableHighAccuracy: true, timeout: 15000, maximumAge: 10000,
);
else
console.log('User denied Geolocation');
, ;
WeatherContainer.js
import React, Component from 'react';
import Text, Image, StyleSheet, View, StatusBar from 'react-native';
import globalFunctions from '../Utils/utils';
class WeatherContainer extends Component
constructor()
super();
this.state =
lat: null,
lon: null,
;
componentDidMount = () =>
this.getLocationData();
;
getLocationData = async () =>
const [latitude, longitude] = await globalFunctions.getLocation();
this.setState(
lat: latitude,
lon: longitude,
);
;
render()
return (
<View style=styles.container>
<View style=styles.innerContainer>
<Text style=styles.location>this.state.lat</Text>
<Text>this.state.lon</Text>
</View>
</View>
);
【问题讨论】:
您似乎没有从Utils.js
导出任何内容
【参考方案1】:
你需要从 Utils.js 中导出 globalFunctions 函数
const export globalFunctions
【讨论】:
以上是关于在 utils.js 文件(React-Native)中调用异步函数?的主要内容,如果未能解决你的问题,请参考以下文章