It’s not tricky if you understand how both work. If you don’t it will be a challenge, especially if you add all the correct error handling and cancelation. Bonus points if you make it work with only up to N tasks running at a time.
None of these interview questions are hard. They are just either domain specific (like callbacks/promises/async/await) or designed to trip you up on details.