简化for循环,以便在JavaScript中根据条件查找数组(异步返回)中的项



我有一个名为getItems的函数,它异步返回一个对象数组。每个对象都有一个返回布尔值的isOccupied方法。我写了一个函数,它接受一个索引,并返回数组isOccupied中的第一个索引项是真还是假。

async itemIsOccupied(index) {
return getItems().then(items => {
if (items.length - 1 < index) return false;
return items[index].isOccupied()
});
}

这只是工作得很好,但我必须使用异步函数来获取数组的事实使它很长。有没有简化的方法?

我会像这样整理一下…

async itemIsOccupied(index) {
const items = await getItems();
return index < items.length && items[index].isOccupied();
}

最新更新