Skip to content

Instantly share code, notes, and snippets.

@eroSilva
Forked from brunoannunciato/future-select.js
Created April 13, 2018 18:29
Show Gist options
  • Save eroSilva/4c47cf225ff1ad9ed1c5eb3de0009bda to your computer and use it in GitHub Desktop.
Save eroSilva/4c47cf225ff1ad9ed1c5eb3de0009bda to your computer and use it in GitHub Desktop.
const FutureSelect = (selector, parent = document) => {
let request = null
return new Promise((resolve) => {
const select = () => {
const elements = parent && [ ...parent.querySelectorAll(selector) ] || []
if (!elements.length) {
request = requestAnimationFrame(select)
return
}
cancelAnimationFrame(request)
resolve(elements)
}
select()
})
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment