Comments (6)
I guess the additional configuration option is one possible way but it doesn't feel like it deserves so much attention at the current time, I would like to keep things simple. If there's demand for this feature I may reconsider it. Thanks for reporting though!
from axios-hooks.
I might just do this
const silenceError = (fn) => () => fn().catch(() => {})
const [{ data, loading, error }, postLogin] = useAxios({
url: '/login',
method: 'POST'
},
{ manual: true }
)
const login = silenceError(() => {
return postLogin({
data: {
username,
password
}
})
})
from axios-hooks.
Fair point. It's been requested in #51 that the manual fetch function returns the promise, which makes sense to me because if you do a manual fetch you may also want more control about what happens when the promise resolves/rejects. But this also means that if there's a rejection and you're not interested into it you need to swallow it somehow.
Unfortunately I don't see a solution that can cover both cases. Ideas?
from axios-hooks.
I thought it might be a deliberate design choice. It can be quite nice to get the actual promise.
I guess you could pass in another option like this:
url: '/login',
method: 'POST'
},
{
manual: true,
void: true // or returnPromise: false
}
)
There is no need to over complicate this for me, at the moment I am using:
const silenceError = (promise) => promise.catch(() => {})
...
...
...
const login = () => {
silenceError(postLogin({
data: {
username,
password
}
}))
}
from axios-hooks.
Or just catch the promise in a standard way....
Thanks again for the library.
from axios-hooks.
What if it throws 400
, a bad request, and we want to show the error message to the user? I am having the same issue.
const [{ error }, executeUpdate] = axiosHook(
{
...ApiConfig.COURSE.UPDATE_COURSE,
},
{ manual: true }
);
...and here I call executeUpdate
. I thought error
will be the updated error but that line,if (error) { ...do something }
,never gets executed as promise is rejected.
const updateCourse = () => {
handleSubmit(async (data) => {
await executeUpdate({
url: `${ApiConfig.COURSE.GET_COURSES.url}/${courseRow.id}`,
data,
});
console.log(error); // never gets called
await refetchCourse();
})();
};
Is there a way we could silence the error from executeUpdate
and get the error from state error
variable instead?
from axios-hooks.
Related Issues (20)
- Release pending!
- Refetch "expression is not callable" HOT 2
- Why I'm getting 2 rendered using this hook, when component mounts? HOT 9
- Release pending!
- Prevent CanceledError and redundant HTTP calls for identical request data HOT 1
- Support for API polling HOT 1
- type error HOT 9
- Uncaught TypeError: object is not iterable (cannot read property Symbol(Symbol.iterator)) HOT 1
- How to configure SSR with NextJS? HOT 3
- "Uncaught runtime errors: Cannot read properties of undefined (reading 'data')" after upgrading to CRA 5.0.1 & Node 18 HOT 6
- Not usable within the US? HOT 1
- Error from a dynamically loaded uri HOT 3
- Release pending!
- Release pending!
- useAxios hook sending in 2 requests, the first is cancelled immediately HOT 3
- Release pending! HOT 3
- Release pending!
- Release pending!
- Type error: MouseEvent using refetch and provided example from docs HOT 2
- Still an issue with both `executeGet` and `execute` methods when executed manually HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from axios-hooks.