Named functions
This is better,
useEffect(() => {
const loadFile = async () => {
const files = await getFile("demo", params.path, fileName);
if (isNone(files)) return router.back();
const blobUrl = URL.createObjectURL(files.value.blob);
setFileUrl(`${blobUrl}#page=${page}`);
};
loadFile().then(() => setReady(true));
}, []);than this,
useEffect(() => {
(async () => {
const files = await getFile('files', params.path, fileName);
if (isNone(files)) return router.back()
const blobUrl = URL.createObjectURL(files.value.blob)
setFileUrl(`${blobUrl}#page=${page}`);
setReady(true);
})();
}, [])because,
- Better naming instead of an anonymous IIFE (Immediately Invoked Function Expression), cleaner code and in case of an error the stack trace will have meaningful function name
- Cleaner to handle errors, a
.catch()can be used after the.then()