Javascript 如何在同一类中将变量从一个方法传递到另一个方法

Javascript 如何在同一类中将变量从一个方法传递到另一个方法,javascript,class,fetch,modularity,Javascript,Class,Fetch,Modularity,我试图在JS中创建模块化代码,但在将带有值的变量传递给同一类中的另一个方法时遇到了问题。我现在看到的结果是“”。请帮忙 class foodApp{ 构造函数(){ this.getjsondata='' } fetchData(){ 返回取回(“https://jsonplaceholder.typicode.com/users") .then(response=>response.json()) 。然后(数据=>{ const result=JSON.stringify(数据); this

我试图在JS中创建模块化代码,但在将带有值的变量传递给同一类中的另一个方法时遇到了问题。我现在看到的结果是“”。请帮忙

class foodApp{
构造函数(){
this.getjsondata=''
}
fetchData(){
返回取回(“https://jsonplaceholder.typicode.com/users")
.then(response=>response.json())
。然后(数据=>{
const result=JSON.stringify(数据);
this.getjsondata=结果;
})
}
displayHTML(){
返回console.log(this.getjsondata)
}
}

新建foodApp().displayHTML()
fetchData
是一个异步函数,它将返回一个承诺。你必须履行诺言

试试下面的代码。

class FoodApp{
构造函数(){
this.getjsondata=“”;
}
fetchData(){
返回取回(“https://jsonplaceholder.typicode.com/users")
.then(response=>response.json())
。然后(数据=>{
const result=JSON.stringify(数据);
this.getjsondata=结果;
});
}
displayHTML(){
返回this.getjsondata;
}
}
设foodApp=newfoodapp();
(异步函数(){
等待foodApp.fetchData();
log(foodApp.displayHTML());

})();如果您希望fetchData始终与每个实例一起运行(我认为您可能会这样做),请将函数内容包含在构造函数中,而不是包含在单独的方法中。否则,当您第一次调用displayHTML时,提取尚未发生

constructor() {
      fetch("https://jsonplaceholder.typicode.com/users")
        .then(response => response.json())
        .then(data => {
            const result = JSON.stringify(data);
            this.getjsondata = result;
      })
  }

没有调用
fetchData()
我这样做了-仍然是空的stringAsynchronous!=同步的你在网上订了一份比萨饼,却惊讶地发现你的盘子还是空的。