【发布时间】:2022-02-17 02:17:56
【问题描述】:
我有这个现有的功能,效果很好:
const fetchWrapper = (resource, init) => {
console.log('About to fetch...', resource)
const p = fetch(resource, init)
p.then(
(response) => {
console.log('The response is:', response)
},
(error) => {
console.log('The error is:', error)
}
)
return p
}
我尽可能使用 async/await。但是,我认为这样做实际上可能。
主要问题是我想返回fetch()返回的promise,这样调用函数就可以像往常一样await。
但我也希望在调用fetch()(这是最简单的部分)之前发生额外的事情,然后在网络响应之后立即发生。
为此,我将两个回调(响应和错误)附加到fetch() 返回的承诺。
如果我不使用 Promise,我将不得不 await 进行 fetch() 调用 - 但是调用者将在 Promise 得到解决之前不会收到响应,这不是我想要的。
那么...是否有可能将此代码转换为完全异步/等待?
【问题讨论】: