import {useState, useEffect} from 'react'; /** * Hook permettant d’obtenir des résultats asynchrones. * * @param initial Valeur initiale lorsque la promesse n’a pas répondu. * @param func Fonction renvoyant une promesse. * @param ...args Arguments à passer à `func` qui sont susceptibles de changer. * @return Résultats de la promesse. */ export const useAsync = (initial, func, ...args) => { const [results, setResults] = useState(initial); useEffect(() => { const fetcher = async () => { setResults(await func(...args)); }; fetcher(); }, args); return results; };