Javascript 无法从承诺返回的对象访问属性
我的目标如下:Javascript 无法从承诺返回的对象访问属性,javascript,ecmascript-6,promise,Javascript,Ecmascript 6,Promise,我的目标如下: const api = { post: () => { return new Promise((resolve, reject) => { resolve({ response: { data: { token: "abcdefghijkl", },
const api = {
post: () => {
return new Promise((resolve, reject) => {
resolve({
response: {
data: {
token: "abcdefghijkl",
},
},
});
})
}
};
当我执行api.post()。然后((res)=>console.log(res.data))
即使console.log(res)
打印整个对象,我也会得到undefined
。尝试以下方法:
const api = {
post: () => {
return new Promise((resolve, reject) => {
resolve({
response: {
data: {
token: "abcdefghijkl",
},
},
});
})
}
};
api.post().then((res) => console.log(res.response.data))
应该是
res.response.data
api.post().then((res) => console.log(res.response.data)
或者,如果要通过res.data
访问它,请更新从promise返回的对象
resolve({
data: {
token: "abcdefghijkl",
}
});
您正在传递
resolve
一个顶级属性为response
的对象。它没有顶级的数据
属性虽然很明显,但您是否可以添加关于错误的解释,以及您为使其正常工作所做的更改。