Tengo una función llamada getItems que devuelve una matriz de objetos de forma asíncrona. Cada objeto tiene un método isOccupied que devuelve un valor booleano. Escribí una función que toma un índice y devuelve si el elemento índice-ésimo en isOccupied de la matriz es verdadero o falso.
async itemIsOccupied(index) { return getItems().then(items => { if (items.length - 1 < index) return false; return items[index].isOccupied() }); }Esto simplemente funciona bien, pero el hecho de que tengo que usar una función asíncrona para obtener la matriz lo hace largo. ¿Hay alguna manera de simplificar esto?
Yo lo limpiaría un poco así...
async itemIsOccupied(index) { const items = await getItems(); return index < items.length && items[index].isOccupied(); }