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!

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 ...

Announcing the Migration of the Splunk Add-on for Microsoft Azure Inputs to ...

Announcing the Migration of the Splunk Add-on for Microsoft Azure Inputs to Officially Supported Splunk ...

Splunk Observability for AI

Don’t miss out on an exciting Tech Talk on Splunk Observability for AI! Discover how Splunk’s agentic AI ...