我将能够通过listTicket调用getTicket来检索数据
listTicket:
listTicket()
{
objectTicket = this.getTicket();
objectTicket.map((userData)=>{
alert(userData.id)
})
}
getTicket代码:
async getTicket () {
return await fetch('url', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
uid: '1',
type: '0'
})
})
.then((response) => {return response.json()})
.then((responseJson) => {
return responseJson;
})
.catch((error) => {
alert(error);
});
}
我收到此错误:
typeerror objectTicket.map不是函数
答案 0 :(得分:2)
从getTicket方法获得Promise,因此您应该订阅它:
listTicket() {
objectTicket = this.getTicket();
objectTicket.then((res) => {
res.map((userData)=> {
alert(userData.id)
})
})
}
答案 1 :(得分:1)
这里的问题是getTicket()
是一个返回Promise的函数,而map
是在数组上定义的。
答案 2 :(得分:1)
getTicket
返回Promise listTicket
方法时,其方法也应为async
。
async listTicket() {
objectTicket = await this.getTicket();
objectTicket.map((userData)=> {
alert(userData.id)
});
}
答案 3 :(得分:0)
异步函数返回承诺,并使用该函数的返回值进行解析。
因此,当您调用listTicket函数时。 listTicket函数返回的是Promise对象以及返回值{VIEW},这就是问题所在。
要解决此问题,您应该将 objectTicket 值设置为状态变量,然后遍历状态变量。