
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
use-async-query
Advanced tools
Mirrors the functionality of
Apollo client's useQuery hook,
but with a "query" being any async function of the format
(variables: Record<string, any>) => any rather than a GQL statement.
npm i use-async-query
import firestore from '@firebase/firestore'
import { useQuery } from 'use-async-query'
import { Loading, Error, Results } from './components'
const myQuery = (variables) => firestore()
.collection('myCollection')
.where('example', '==', variables.example)
.get()
const MyComponent = () => {
const {loading, error, data} = useQuery(myQuery, { variables: { example: 'test' }})
return <>
{loading && <Loading />}
{error && <Error error={error} />}
{data && <Results data={data}>}
</>
}
useQuery(query, options)| Name | Type | Description |
|---|---|---|
| query | (variables?: TVariables) => Promise<TData> | Any async function that takes a single variables argument. |
| options | Record | An options object, see below. |
| Name | Type | Description |
|---|---|---|
| variables | Record<string, any> | The variables that are passed to the query function. |
| skip | boolean | If set to true, the query is not called for the current render. |
| onCompleted | (data: TData) => void | A function that's called when the query completes successfully. |
| onError | (error: any) => void | A function that's called when an error is thrown by the query. |
| Name | Type | Description |
|---|---|---|
| data | TData | The return value from the latest query, once completed. |
| previousData | TData | The return value from the previous query. |
| refetch | (variables?: Partial<TVariables>) => Promise<QueryResult<TData, TVariables>> | Refetch data by calling the query again. Partial variables are added to variables set in the hook options. |
| loading | boolean | Returns true if the latest query has not completed. |
| error | any | The error response if the latest query returned an error. |
useLazyQuery(query, options)The API for useLazyQuery is identical to useQuery above, except that:
[execute, queryResult] where
execute is a function that runs the queryqueryResult is an object matching the useQuery result aboveIf you want to fetch data in a hook but don't care about the apollo-client API:
If you don't want to use a hook:
FAQs
Apollo Client's useQuery API for any async function
We found that use-async-query 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
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.