gpt4 book ai didi

javascript - 将 $.getJSON 的结果传递给同一个类的另一个方法

转载 作者:行者123 更新时间:2023-12-03 09:05:02 24 4
gpt4 key购买 nike

我有一个 JavaScript 类,想要将 $.getJSON 的结果传递给同一类的另一个方法,并从类外部访问它。我的错误在哪里?

我的代码类似这样:

function MyClass() {
var mydata = false;

this.getData = function() {
$.getJSON( "/api/get.php", function(data) {
this.setData(data);
});
}

this.setData = function(data) {
this.mydata = data;
this.logData();
}

this.logData = function() {
console.log(this.mydata);
}

this.returnData = function() {
return this.mydata;
}
}

var MyClass = new MyClass();
MyClass.getData();
var data = MyClass.returnData();

首先,我想创建类的实例并从服务器获取数据。然后方法 setData 应该验证结果,将其存储在变量中并将结果记录到控制台。之后我想从类外部访问数据。

最佳答案

this 在每个函数中都会发生变化,因此您可以将 this 存储在变量中:

function MyClass() {
var mydata = false, that = this;

this.getData = function() {
$.getJSON( "/api/get.php", function(data) {
that.setData(data);
});
}

this.setData = function(data) {
that.mydata = data;
that.logData();
}

this.logData = function() {
console.log(that.mydata);
}

this.returnData = function() {
return that.mydata;
}
}

var MyClass = new MyClass();
MyClass.getData();
var data = MyClass.returnData();

关于javascript - 将 $.getJSON 的结果传递给同一个类的另一个方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32209937/

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