【发布时间】:2021-12-15 08:42:24
【问题描述】:
处理使用“axios”发出的async 请求的返回值并返回另一个Promise 的正确方法是什么?
这个:
return axios.get('/home.json')
.then(({ data, ...res }) =>
new Promise({
data: data.json(),
...res
})
)
或
return new Promise(() => {
const { data, ...res } = await axios.get('/home.json')
return {
data: data.json(),
...res
}
})
...或者以上都不是?
【问题讨论】:
-
以上都不是。您要解决的问题到底是什么?
data.json()没有真正意义,因为它不是 axios api 的一部分。您在两个示例中对 new Promise 的使用也不正确 -
@charlietfl 我想从端点异步获取数据,然后操纵请求的结果将其转换为 js 字典(与 fetch 的“.json()”一样)并返回该函数的也可以是一个 Promise。
-
我对axios不熟悉,但是
.then(async ({ data, ...res }) => ({ data: await data, ...res }))有用吗?
标签: javascript ecmascript-6 promise axios