JS - 地理位置功能错误,一切正常

时间:2017-11-26 15:27:11

标签: javascript reactjs geolocation xmlhttprequest

我正在做天气应用程序,其中getCoords功能已激活一次,找到我!'单击按钮:

getCoords(e){
e.preventDefault();
if(navigator.geolocation){
  navigator.geolocation.getCurrentPosition((position) =>{
    const long = position.coords.longitude,
          lat = position.coords.latitude;
          console.log(`long ${long} and lat ${lat}`);
    this.setMessage('http://api.openweathermap.org/data/2.5/forecast?lat='+lat+'&lon='+long+"&APPID=mykey");
  }).bind(null,this);
}
}

我很高兴从结果中得到它并且确实有效,因为我预计在控制台中会出现很多错误,这让我感到有点担心。 火狐:

  

TypeError:navigator.geolocation.getCurrentPosition(...)未定义

chrome和Opera:

  

未捕获的TypeError:无法读取属性' bind'未定义的       在WeatherApp.getCoords(app.bundle.js?49cb1f92ba06aee2ea42:374)

歌剧:

  

无法加载资源:服务器响应状态为404(未找到)

1 个答案:

答案 0 :(得分:0)

你没有将'this'绑定到tu函数,而是它的返回值。

'bind'是Function原型的一种方法。我不确定你为什么要使用绑定调用。在调用函数之前,只需将其删除或调用即可。