私は別のファイルに入れたい機能があります。問題は、関数が時間を要する要求を出すことである。私は別のファイルにその関数を持っていて、それを呼び出すことができるようにしたい。React/Reduxでコールバックを実装する方法
私はこの機能のみを投稿しますが、もっと情報が必要な場合はファイルの残りの部分を投稿しますが、サイズが大きく、混乱がたくさんあり、すべてのコードで読みにくい場合があります。
私は今、同じページの機能を使ってできることすべてを行うことができますが、このようなことができたいと思います。
submitRadius(items, userRadius, (err, response) => {
if(err){console.log(err)}
console.log(response)
});
機能:
submitRadius(userRadius) {
const { items } = this.props;
const markers = [];
items.map((item, i) => {
const newGeoArr = item.geolocation.split(',');
if (
newGeoArr.length > 1 &&
newGeoArr !== '' &&
newGeoArr[0] !== undefined &&
newGeoArr[0] !== null
) {
item.position = { lat: Number(newGeoArr[0]), lng: Number(newGeoArr[1]) };
item.distance = { latitude: Number(newGeoArr[0]), longitude: Number(newGeoArr[1]) };
geolocation.getCurrentPosition((position) => {
const currentLocation = {
latitude: position.coords.latitude,
longitude: position.coords.longitude,
};
const distanceArr = geolib.orderByDistance(currentLocation, [item.distance]);
const miles = (distanceArr[0].distance/1609.34).toFixed(2);
if (miles <= userRadius) {
markers.push({
position: item.position,
number: i,
content: item.description,
showInfo: false,
});
this.setState({
markers,
});
}
});
}
});
this.setState({
markers,
});
}