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!

.conf24 | Registration Open!

Hello, hello! I come bearing good news: Registration for .conf24 is now open!   conf is Splunk’s rad annual ...

ICYMI - Check out the latest releases of Splunk Edge Processor

Splunk is pleased to announce the latest enhancements to Splunk Edge Processor.  HEC Receiver authorization ...

Introducing the 2024 SplunkTrust!

Hello, Splunk Community! We are beyond thrilled to announce our newest group of SplunkTrust members!  The ...