Я пытаюсь добавить геокодер mapbox в мой маршрут get / create.У меня есть асинхронная функция для геокодера, чтобы получить координаты местоположения.Журнал консоли сообщит мне об ожидающих обещаниях координат для моей модели, но даст правильные кординаты в журнале из журнала функции геокодирования mapbox.Из журнала полный массив.Мой код кажется правильным, но я просто не понимаю, почему он не работает?Вот мой код:
async function geocoder() {
try {
let response = await geocodingClient
.forwardGeocode({
query: req.body.location,
limit: 1
})
.send()
var coordinates = response.body.features[0].geometry.coordinates;
req.body.coordinates = response.body.features[0].geometry.coordinates;
console.log(response.body.features[0].geometry.coordinates);
return coordinates
} catch(err){
console.log(err.message);
}
}
// get data from forum and add to post array
var home = req.body.home;
var title = req.body.title;
var location = req.body.location;
var zipcode = req.body.zipcode;
var coordinates = geocoder(req.body.location);
var dsc = req.body.description;
var image = req.body.image;
var endDate = req.body.endDate
var author = {
id: req.user._id,
username: req.user.username
};
var contactInfo = {
phoneNumber: formatPhoneNumber(req.body.phoneNumber),
email: req.body.email
}
var newHome = {
data: data,
title: title,
location: location,
zipcode: zipcode,
coordinates: coordinates,
description: dsc,
image: image,
author: author,
contactInfo: contactInfo,
endDate: endDate,
};
Вывод на консоль:
{ coordinates: [ Promise { <pending> } ],
_id: id,
service: '10001',
title: 'Maimi',
location: 'Miami, Fl',
zipcode: '33101',
description: 'Miami',
image: 'https://i.ytimg.com/vi/9R1N_ww10wE/maxresdefault.jpg',
author: { id: id, username: 'username' },
contactInfo: { phoneNumber: ‘phone', email: 'email' },
endDate: 2019-12-20T05:00:00.000Z,
created: 2018-10-16T15:54:23.943Z,
__v: 0 }
[ -80.1937, 25.7743 ]