Estoy usando MusicKit-JS y aunque este código funciona, no sé si hay otra forma de escribirlo.
Todos los métodos de música devuelven __awaiter(...) .
¿Hay alguna manera de escribir esto usando promesas? No sé mucho sobre ellos, así que no pude hacerlo funcionar usando promesas.
music.stop() .then(function () { music.setQueue({}) .then(function () { music.setQueue({ song: id }) .then(function () { music.play() }) }) });Suponiendo que todas estas funciones son promesas de devolución, puede envolverlas en una función async y luego usar await y luego deshacerse del anidamiento profundo:
async function run() { await music.stop(); await music.setQueue({}); await music.setQueue({song: id}); await music.play(); } run().then(() => { console.log("done"); }).catch(err => { console.log(err); });Todo lo que necesita hacer es declarar sus funciones asíncronas. Entonces podrás usar await
async function() { await music.stop(); // .then(function () { await music.setQueue({}) // .then(function () { await music.setQueue({ song: id }) // .then(function () { music.play() }) }) });