我在解構從我的 Aztro 類中的 fetch api 回傳的物件時遇到問題。
我嘗試了各種方法來隨機解構它,但沒有成功......
如果我回傳它而不是控制臺日志記錄,我該如何訪問它?請參閱代碼和注釋以進一步澄清我的問題。
我想這樣做的原因是因為 api 一次只會回傳一個星座。
class Aztro {
constructor(sign){
this.sign = sign
}
getData(){
return fetch('https://example/?sign=' this.sign '&day=today', {
method: 'POST'
})
.then( response => response.json() )
.then( data => {
console.log(data) // how do I destructure this if it's returned and not just console.log()
})
}
}
let aries = new Aztro('aries') // Can pass in zodiac signs to fetch data
let aquarius= new Aztro('aquarius')
aries.getData() // this logs the json data in the console....
// EDIT this is how I tried to destructure it
const {description} = aries
const {description} = aries.getData() // this returns Object promise when i tried to output it to the dom
const {description} = Aztro
uj5u.com熱心網友回復:
您可以通過兩種方式訪問??獲取的資料:
1- 使用承諾鏈,如下所示:
aries.getData().then(data => console.log(data))
2-async/await用于獲取資料。使用的重點async/await是您必須在異步函式中呼叫 await 關鍵字(我app在下面的代碼中定義函式的原因),如下所示:
class Aztro {
constructor(sign){
this.sign = sign
}
async getData(){
const response = await fetch('https://example/?sign=' this.sign '&day=today', {
method: 'POST'
})
const data = await response.json();
return data;
}
}
async function app(){
let aries = new Aztro('aries') // Can pass in zodiac signs to fetch data
let aquarius= new Aztro('aquarius')
const data = await aries.getData();
console.log(data);
}
app();
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/379268.html
標籤:javascript 班级 拿来 解构
上一篇:如何呼叫另一個類的成員函式?
