gpt4 book ai didi

javascript - 如何正确调用 JSON 对象的回调函数

转载 作者:行者123 更新时间:2023-12-02 17:58:27 24 4
gpt4 key购买 nike

详细信息:

我正在获取 html5 地理位置的数据;特别是经度和纬度。我正在尝试创建一个任何人都可以从项目内调用并获取经度和纬度的插件。

我读过这篇文章How to return response from an ajax call但我想知道应该如何调用这些函数。

我放置了一个 extjs 标签,尽管我认为这更多的是 javascript 核心问题

JavaScript:

Ext.define('Ext.ux.GeoLocation', {
alias: 'plugin.ux.geolocation',

constructor: function() {
console.log('called 1');
this.duh = 'yes';
this.init();

},

init: function () {
console.log('called 2');
navigator.geolocation.getCurrentPosition(this.test, this.test);
},

test: function(init) {
console.log('called 3');
this.duh = "amazing";
}

});

var geo = new Ext.ux.GeoLocation();
geo.test(); // this gets called twice though... incorrect?

Here is a FIDDLE

控制台输出为:

called 1 
called 2
called 3
called 3

这是一种不好的做法吗?还有其他解决办法吗?

最佳答案

在类构造函数中,您将 test 函数传递给 navigator.geolocation.getCurrentPosition。你知道那个其他功能是做什么的吗?最有可能的是在内部调用测试。

您可以通过执行以下操作进行检查:

var geo = new Ext.ux.GeoLocation();
console.log("middle");
geo.test();

然后您应该看到“middle”打印在两条“叫 3”行之间。

关于javascript - 如何正确调用 JSON 对象的回调函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20788080/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com