欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

vue await 報錯

阮建安2年前10瀏覽0評論

在使用 Vue 開發過程中,我們經常會用到 async/await 結合 Promise 進行異步操作。然而,當在 Vue 組件中使用 await 時,有時候會報出以下錯誤:

Uncaught (in promise) Error: Actions must be plain objects. Use custom middleware for async actions.

這個錯誤通常是由于在使用 await 的時候,返回的數據不是 Object 類型而造成的。解決這個錯誤的方法非常簡單,在調用后面的 .then() 方法之前,將返回值轉換成 Object 類型即可。

async fetchData() {
// http.get() 返回的是一個 Promise
const data = await http.get('/user')
return {
data: data.data
}
}

可以看到,我們在 fetchData() 方法中使用了 await,等待 http.get() 方法返回數據。這里的 data 是一個 Axios 的 response 對象,而不是一個普通的 Object。此時,如果直接返回這個 response 對象,會造成上述的錯誤。

因此,我們需要在返回 response 數據之前,將其轉換為 Object 類型:

async fetchData() {
const data = await http.get('/user').then(res =>res.data)
return {
data: data
}
}

這樣修改后,返回的 data 就是一個 Object 了,就可以愉快地寫業務邏輯啦。