{"type":"rich","version":"1.0","provider_name":"Transistor","provider_url":"https://transistor.fm","author_name":"DejaVue","title":"Data Fetching in Vue and Nuxt","html":"<iframe width=\"100%\" height=\"180\" frameborder=\"no\" scrolling=\"no\" seamless src=\"https://share.transistor.fm/e/422eae00\"></iframe>","width":"100%","height":180,"duration":2762,"description":"Data fetching is a crucial part of any web application. In this episode of DejaVue, we discuss the different ways to fetch data in Vue.js and Nuxt.js, and how to cache it. \nWe also talk about the experimental Suspense feature in Vue.js and how it can be used to improve the user experience, as well as how to handle third-party scripts in your application.\nIn addition, Nuxt's data fetching options are discussed, including the $fetch method, useFetch, useAsyncData and the useNuxtData composable. Finally, we cover server-side caching in Nuxt.js, including route rules, defineCachedEventHandler, and defineCachedFunction.\nEnjoy the episode! \nChapters\n\n\n\nLinks and Resources\n\nLAST CHANCE 15% discount for the VueConf Toronto* with code DEJAVUE\n\nofetch\nky\nSuspense in Vue\nData Loaders\nDejaVue #E030 - Pinia and Data Loaders (with Eduardo San Martin Morote)\nnuxt-workers\nPartytown\nsquoosh.app\nDejaVue #E001 - The Need for SSR\nYou are using useFetch wrong\nDejaVue #E003 - Nitro: The Next Generation Server Toolkit\nCaching in Nitro\nClient side caching with getCachedData\nComposable Caching Utils issue\nRoute Rules in Nuxt\nDejaVue #E002 - Building a Nuxt.js SaaS in less than a week (with Harlan Wilton)\n\nYour Hosts\n\nAlexander Lichter\nBlueSky\nTwitter\nYouTube\nTwitch\nWebsite\n\nMichael Thiessen\nTwitter\nYouTube\nWebsite\n\nLinks marked with * are affiliate links. We get a small commission when you register for the service through our link. This helps us to keep the podcast running. We only include affiliate links for services mentioned in the episode or that we use ourselves.","thumbnail_url":"https://img.transistorcdn.com/X-XqySYPSn0K4y9YEu8cIiAjVwWPg5ywJAmtmcXm12Q/rs:fill:0:0:1/w:400/h:400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9zaG93/LzUxMTc1LzE3MTEy/MzU4NDMtYXJ0d29y/ay5qcGc.webp","thumbnail_width":300,"thumbnail_height":300}