Dashboards & Visualizations

Is Async.sleep() available to Javascript

bowesmana
SplunkTrust
SplunkTrust

I have some JS that is iterating a result set with on('data'). Inside that loop, I am setting up a new search with SearchManager and executing that search. I need to wait for that search to finish before I do the next iteration of the original result row.

I was hoping to be able to do something like

innerResults.on('data', function() {
  while (!innerResults.hasData()) {
    Async.sleep(1000, ...);
  }
  // Now process inner result data and then go to outer result next iteration
)};

I can't find out what to include in my require block at the top of the JS
Any ideas?

christoffertoft
Communicator

Any success with this? I'm stuck at the same issue

0 Karma

KailA
Contributor

Hi,

I don't know what to include in your require block but I can show how I'm doing a sleep in my JS

function sleep(ms) {
  return new Promise(resolve => setTimeout(resolve, ms));
}

And after creating this function you can use it like this await sleep(1000);

Let me know if it helps you

0 Karma

bowesmana
SplunkTrust
SplunkTrust

I saw this type of post elsewhere, but I can't seem to get the await part, as it says it can only be used in an async function. If I don't use await, then the sleep call does not sleep at all.

I'm a JS noob 😞

0 Karma
Get Updates on the Splunk Community!

Upcoming Webinar: Unmasking Insider Threats with Slunk Enterprise Security’s UEBA

Join us on Wed, Dec 10. at 10AM PST / 1PM EST for a live webinar and demo with Splunk experts! Discover how ...

.conf25 technical session recap of Observability for Gen AI: Monitoring LLM ...

If you’re unfamiliar, .conf is Splunk’s premier event where the Splunk community, customers, partners, and ...

A Season of Skills: New Splunk Courses to Light Up Your Learning Journey

There’s something special about this time of year—maybe it’s the glow of the holidays, maybe it’s the ...