我有一个名为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();
}