Я попытался получить ответ из кода ниже: -
let latlongdata;
if (userInfo.address != "" && userInfo.country != "") {
let add = userInfo.address + "," + userInfo.country;
geo.find(add, function(err, res) {
latlongdata = res[0].location.lat;
console.log("Inside output", res[0].location.lat); // Got response
});
console.log("Outside output", getletlong); // No response
}
}
При утешении «Внутренний вывод» я получил ответ, При утешении «Внешний вывод» я не получил ответа
Я также пытался использовать async await, ниже приведен код: -
if (userInfo.address != "" && userInfo.country != "") {
add = userInfo.address + "," + userInfo.country;
[err, data] = await to(geo.find(add));
console.log("output", data);
console.log("error", err);
}
Наконец, я получил ответ, когда использовал setTimeOut ()
let latlongdata;
if (userInfo.address != "" && userInfo.country != "") {
add = userInfo.address + "," + userInfo.country;
geo.find(add, function(err, res) {
if (res) {
userInfo.latitude = res[0].location.lat;
}
});
}
userInfo.role_id = 2;
setTimeout(async () => {
[err, user] = await to(User.create(userInfo));
}, 300);
Но я думаю, что это не правильноКстати, также я думаю, что это не будет работать для меня в каждом случае, пожалуйста, кто-нибудь может сказать мне, что я делаю неправильно в первых двух подходах.
Я использовал. :- "google-geocoder": "^0.2.1"