我有麻烦得到地理定位坐标从一个promise函数返回。我使用下面的代码从这里:如何geolocation.get货币位置返回值?
const getPosition = () => {
return new Promise((res, rej) => {
navigator.geolocation.getCurrentPosition(res, rej)
});
}
export const getGeolocation = () => {
getPosition().then(console.log)
}
我试过:
export const getGeolocation = () => {
return getPosition().then(result => return result)
} // doesnt work
有人能给我解释一下从promise中获得价值的正确方法是什么吗?谢啦
试试这个。
const getPosition = () => {
return new Promise((res, rej) => {
navigator.geolocation.getCurrentPosition(res, rej)
});
}
const getGeolocation = async() => {
try {
let result = navigator.permissions.query({
name: 'geolocation'
});
if (result.state == 'granted') {
let respnse = await getPosition();
} else {
throw new Error("User denied Geolocation");
}
} catch (error) {
console.log(error.message);
}
}
getGeolocation();
您需要在getGeolocation()
函数中使用回调方法。
以下是您的解决方案:
export const getGeolocation = (callback) => {
getPosition().then((result) => {
callback(result);
})
}
现在,请参阅下面的代码,以访问来自getPosition()
函数的结果。
getGeolocation((result)=>{
console.log("Position : ",result);
});
请检查下面的代码,希望这对您和
const getPosition = () => {
return new Promise((res, rej) => {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(res);
} else {
rej("Unable to found current location");
}
});
}
export const getGeolocation = (callback) => {
getPosition().then((result) => {
callback({
code: 1,
message: "Location",
location: result
});
}).catch((_error) => {
callback({
code: 0,
message: _error
});
});
}
getGeolocation((response) => {
if (response.code == "1") {
console.log(response.location);
} else {
console.log(response.message);
}
});
要了解回调如何工作,请通过下面的链接,你会有一个更好的主意。
https://www.w3schools.com/jquery/jquery_callback.asp
问题内容: 当我调试此代码时,在databaseUser中dataSnapshot在数据库中具有User的值,但是在object中,未添加,则全部为null。而且我不明白,因为在对象事件中正常接收值。 我的数据库用户,目前仅用于测试: 和方法,只是选择另一个活动的事件的关键: 问题答案: 当您对Firebase数据库执行查询时,可能会有多个结果。通过附加a,您可以在一个快照中获得这些结果,因此快照
callbackFacebook函数如何从uri获取代码的值? uri=http://localhost:8081/callback?code=AQDNm6hezKdTsId5k4oXKNo
问题内容: 我一直在尝试发送HttpPost请求并获取响应,但是即使我能够建立连接,我仍然无法获得如何获取由请求-响应返回的字符串消息。 对不起,我听起来很幼稚,因为我是Java新手。请帮我。 问题答案: 尝试在您的响应中使用:
我正在使用一个挂起的意图来启动一个闹钟(使用AlarmManager)。我需要不同的结果代码启动的活动,基于两个按钮中的哪一个放在它的用户点击(Snooze或取消)。我怎么得到这个结果?不幸的是,在关闭活动上启动finish()方法之后,没有在父活动中启动onActivityResult()方法。在Android文档中,它指出
问题内容: 我试图在Android中的HashMap上进行搜索,但出现问题: 考虑以下示例: 现在,我要对其进行迭代并获取每种颜色的值,并希望在“ Toast”中显示。如何显示? 问题答案:
问题内容: 我正在使用CTest(CMake的一部分)进行自动化测试。 如何在Jenkins仪表板中获得CTest结果?或者,换句话说,如何使CTest以类似JUnit的XML输出? 问题答案: 在Jenkins中,在CMake部分(可能是通过CMake插件完成)之后,添加以下批处理脚本,或适应Linux上的构建: 是CMake插件中的构建目录 是我所有测试所在的子目录 使CTest输出为XML(