Javascript—在Promise中,resolve函数将值作为参数传递。但如果resolve孤军奋战,会发生什么?

Javascript—在Promise中,resolve函数将值作为参数传递。但如果resolve孤军奋战,会发生什么?,javascript,promise,geolocation,Javascript,Promise,Geolocation,我有一个关于承诺中的解决函数的问题 我理解“承诺”中的“解决”是指一个容器将承诺传递给下一个“然后”。 像 它将记录“hi”,因为resolve将“hi”传递给以下“then”。 由于我见过类似的案例,我认为解决是将承诺对象传递给以下人员的东西 然而,最近我遇到了一个代码示例,如下所示 const getcurrentLoc = ()=>{ return new Promise((resolve)=>{ navigator.geolocation.getCur

我有一个关于承诺中的解决函数的问题

我理解“承诺”中的“解决”是指一个容器将承诺传递给下一个“然后”。 像

它将记录“hi”,因为resolve将“hi”传递给以下“then”。 由于我见过类似的案例,我认为解决是将承诺对象传递给以下人员的东西

然而,最近我遇到了一个代码示例,如下所示

const getcurrentLoc = ()=>{
    return new Promise((resolve)=>{
        navigator.geolocation.getCurrentPosition(resolve)
    })
}
const getcurrentLoc = ()=>{
    return new Promise((resolve)=>{
        resolve(navigator.geolocation.getCurrentPosition())
    })
}
因为我需要传递坐标值, 我希望我已经编写了如下代码

const getcurrentLoc = ()=>{
    return new Promise((resolve)=>{
        navigator.geolocation.getCurrentPosition(resolve)
    })
}
const getcurrentLoc = ()=>{
    return new Promise((resolve)=>{
        resolve(navigator.geolocation.getCurrentPosition())
    })
}
然而,它没有成功。 我对“决心”有什么误解

我对“决心”有什么误解

您的误解似乎更多的是关于navigator.geolocation.getCurrentPosition

它返回undefined,因此resolvenavigator.geolocation.getCurrentPosition与resolveundefined相同

它接受的第一个参数是函数resolve is a function。getCurrentPosition使用坐标对象调用第一个参数中的函数


所以你得到了坐标对象。

navigator.geolocation.getCurrentPosition是否返回承诺?@richytong不,它不会吐出承诺。你什么时候传入坐标值?@richytong OMG,啊哈!我突然想到了这个时刻。谢谢你,我的上帝!!!!!是的,对!!我完全错过了那部分!!非常感谢你!现在它变得超级透明