| 123456789101112131415161718192021222324 |
- export default async function fetcher(...args) {
- try {
- const response = await fetch(...args)
-
- // if the server replies, there's always some data in json
- // if there's a network error, it will throw at the previous line
- const data = await response.json()
-
- if (response.ok) {
- return data
- }
-
- const error = new Error(response.statusText)
- error.response = response
- error.data = data
- throw error
- } catch (error) {
- if (!error.data) {
- error.data = { message: error.message }
- }
- throw error
- }
- }
-
|