
Security News
Open Source CAI Framework Handles Pen Testing Tasks up to 3,600× Faster Than Humans
CAI is a new open source AI framework that automates penetration testing tasks like scanning and exploitation up to 3,600× faster than humans.
react-useasync-hooks
Advanced tools
$ npm install react-useasync-hooks --save
or
$ yarn add react-useasync-hooks
In many times we have to run
useEffect(() => {
(async () => {
// some async code
})();
}, [some_depenencies])
And manage it. The code is ugly and there are so many issues managing it. instead we could now run
const status = useAsyncEffect(() => {
// some async code
}, [some_depenencies])
Or
const method = useCallback(() => {
(async() => {
// some async code
})();
});
Or even using timeouts in your code.
Let's set up some types to make the code easier:
type MyType = {
name: string;
isValid: boolean;
};
const [status, callback] = useAsync<MyType>(async () => {
/** call some asynchronous code which returs MyType **/
}, [some_depenencies])
Or if we want to have init status
const [status, callback] = useAsync<MyType>(async (prop1: string, prop2: boolean) => {
/** call some asynchronous code which returs MyType **/
}, {useInit: true} // optional parameter, by default it is set to false
, [some_depenencies])
First argument is funciton and second one, which is not required is configuration, if we would like to see init status. The reason for not seeing init status is in most cases we load stuff and do not care if it is in init state.
The status is either:
status.type === AsyncStatus.INIT
) // only in case useInit is set to true (by default, when props are not set it is set to false) fails back to AsyncStatus.WORKING
when useInit
is set to falsestatus.type === AsyncStatus.WORKING
) // when the callback is workingstatus.type === AsyncStatus.SUCCESS
) // when callback has finished workingstatus.type === AsyncStatus.ERROR
) // when some error happenedstatus.type === AsyncStatus.CANCELLED
) // when user interrupted the codeStatus also might have value (status.value
) which type is MyType
and has always value when status is a success. In other cases it keeps the cached value.
In case of Error it also has an error value (status.error
) which can be second argument in type (useAsync<MyType, ErrorType>
).
The callback
is function to call but also has property to cancel callback.cancel()
which tries to interrupt the call
This is a mix of useAsync
and useEffect
it returns just a status
object which is described above.
It is similar to useAsyncEffect
method except with milliseconds
argument in configuration which defines when to make the call
const [status, callback] = useTimeoutAsync<MyType>(async (prop1: string, prop2: boolean) => {
/** call some asynchronous code which returs MyType **/
}, {useInit: true, milliseconds: 500} // the
, [some_depenencies])
or
const [status, callback] = useTimeoutAsync<MyType>(async (prop1: string, prop2: boolean) => {
/** call some asynchronous code which returs MyType **/
}, {milliseconds: 500} // the
, [some_depenencies])
or defaults to 100
const [status, callback] = useTimeoutAsync<MyType>(async (prop1: string, prop2: boolean) => {
/** call some asynchronous code which returs MyType **/
}
, [some_depenencies])
Everything else works as described at useAsync
Utilizes the useTimeoutAsync
and is mix with useEffect
method and is triggered on dependency changes.
The project is based on the work of @react-hook/async but as it grew I decided to make a stand alone project with less dependencies and some additional configuration changes.
FAQs
React useasync timeout utils
The npm package react-useasync-hooks receives a total of 2 weekly downloads. As such, react-useasync-hooks popularity was classified as not popular.
We found that react-useasync-hooks demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
CAI is a new open source AI framework that automates penetration testing tasks like scanning and exploitation up to 3,600× faster than humans.
Security News
Deno 2.4 brings back bundling, improves dependency updates and telemetry, and makes the runtime more practical for real-world JavaScript projects.
Security News
CVEForecast.org uses machine learning to project a record-breaking surge in vulnerability disclosures in 2025.