geoTest函数 - 创建if / else语句

时间:2016-05-08 04:41:32

标签: javascript if-statement

我需要一些帮助来调整这段代码。

该任务要求我声明一个名为geoTest()的新函数。 它应该包含一个if / else语句,用于检查导航器.geolocation属性的值。如果该值是真实的,则该函数应调用getCurrentPosition()方法,在成功时运行createMap()函数或在失败时运行fail()函数。如果navigator.geolocation值为falsy,则该函数应调用fail()函数。

- 超时来自另一步。

这是我的代码:

function geoTest() {
    var waitForUser = setTimeout(fail, 10000);
    if (navigator.geolocation) {
        navigator.geolocation.getCurrentPosition(createMap());
    } else {
        fail();
    }
}

感谢。

1 个答案:

答案 0 :(得分:0)

您需要将回调函数传递给getCurrentPosition。要将函数作为参数传递,请使用函数名称而不使用将括号括起来(括号使其立即调用函数并将返回值传递给函数)。

如果fail()失败,则说明会致电getCurrentLocation(),但如果未设置navigator.geolocation,则表示您正在呼叫getCurrentLocation()function geoTest() { var waitForUser = setTimeout(fail, 10000); if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(createMap, fail); } } 接受第二个回调函数,它将在失败时调用。

.Subscribe()

您的任务几乎与getCurrentPosition的MDN文档中显示的示例相同。