Cache what you can where you can, to avoid having to make calls
You can’t prevent errors, you have to handle errors.
Does a queue even work, if someone loads your extension they want a instant data response from your EBS, they don’t want to have to wait for your extension to run the queue. So does a queue even work?
“The best NPM package” to do what?
Generally I limit my packages to Express, got and database interaction, I avoid packages that wrap API’s for me, I usually don’t need or want that level of interruption to my code, but sometimes you don’t want to or shouldn’t reinvent the wheel.
But for Twitch, I don’t use any package, I just use Got for my HTTPS requests and a small module that handles app access token management and how I include that module/block of code varies by project.