Javascript - 在 Promise 中,resolve 函数传递一个值作为参数。但是如果单独解决会发生什么?
Javascript - In Promise, resolve function passes a value as a parameter. but what is going on if resolve stands alone?
我对 Promise 中的 resolve 函数有疑问。
我在 Promise 中理解 'resolve' 作为容器将 promise 传递给下一个 'then()'。
喜欢,
const something =()=>{return new Promise( (resolve,reject) => { resolve ('hi') } );
something.then( (data) =>{ console.log(data) } )
它会记录 ('hi') 因为 'hi' 被 resolve 传递给下面的 'then'。
由于我看到了与上述类似的情况,我认为 resolve 是将 Promise 对象传递给以下对象的东西。
然而,最近我运行进入了一个代码示例,如下所示。
const getcurrentLoc = ()=>{
return new Promise((resolve)=>{
navigator.geolocation.getCurrentPosition(resolve)
})
}
由于需要传递坐标值,
我期待我写了如下代码。
const getcurrentLoc = ()=>{
return new Promise((resolve)=>{
resolve(navigator.geolocation.getCurrentPosition())
})
}
但是没有成功。
我对 'resolve' 有什么误解?
What did I misunderstand about 'resolve'?
你的误解好像更多的是关于navigator.geolocation.getCurrentPosition
。
它returns undefined
所以resolve(navigator.geolocation.getCurrentPosition())
和resolve(undefined)
是一样的。
它接受的第一个参数是一个函数(resolve
是一个函数)。 getCurrentPosition
使用坐标对象调用第一个参数中的函数。
所以你得到 resolve(the_coordinates_object)
.
我对 Promise 中的 resolve 函数有疑问。
我在 Promise 中理解 'resolve' 作为容器将 promise 传递给下一个 'then()'。 喜欢,
const something =()=>{return new Promise( (resolve,reject) => { resolve ('hi') } );
something.then( (data) =>{ console.log(data) } )
它会记录 ('hi') 因为 'hi' 被 resolve 传递给下面的 'then'。 由于我看到了与上述类似的情况,我认为 resolve 是将 Promise 对象传递给以下对象的东西。
然而,最近我运行进入了一个代码示例,如下所示。
const getcurrentLoc = ()=>{
return new Promise((resolve)=>{
navigator.geolocation.getCurrentPosition(resolve)
})
}
由于需要传递坐标值, 我期待我写了如下代码。
const getcurrentLoc = ()=>{
return new Promise((resolve)=>{
resolve(navigator.geolocation.getCurrentPosition())
})
}
但是没有成功。 我对 'resolve' 有什么误解?
What did I misunderstand about 'resolve'?
你的误解好像更多的是关于navigator.geolocation.getCurrentPosition
。
它returns undefined
所以resolve(navigator.geolocation.getCurrentPosition())
和resolve(undefined)
是一样的。
它接受的第一个参数是一个函数(resolve
是一个函数)。 getCurrentPosition
使用坐标对象调用第一个参数中的函数。
所以你得到 resolve(the_coordinates_object)
.