Promises (Promise.all) are not supported at all in Internet Explorer (they are in Edge) and some older versions of other browsers. Arrow functions are also not supported in these browsers.
I assume that when you need to support older browsers you can use babel (with webpack) or know how to write ES5.
d3.json returns a promise so you can leave out the callback and uses promises:
const playerList = playerData.teams.roster.roster.map(
err=>console.warn("Something went wrong:",err)
I did not comment on how the code works so please let me know if you have specific questions about the code. I suggest reading this if you don't know why promises are used. And google "mdn promise all" before asking what promise all does.