Socket
Book a DemoInstallSign in
Socket

asynchronous-delay

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

asynchronous-delay

Within an asynchronous [block]() or [function](), the JavaScript's _await_ keyword in JavaScript allows execution to "step out" of and "return to" a context. We take advantage of this to arbitrarily pause code execution for a specific amount of time.

latest
npmnpm
Version
0.0.1
Version published
Weekly downloads
1
Maintainers
1
Weekly downloads
 
Created
Source

Asynchronous Delays

Note: This document makes use of the ECMA Script proposal Asynchronous Blocks.

Within an asynchronous block or function, the JavaScript's await keyword in JavaScript allows execution to "step out" of and "return to" a context. We take advantage of this to arbitrarily pause code execution for a specific amount of time.

Delay Function

Consider the following code.

async{
  //do something
  const result = await //do something asynchronous
  //do something with result
}

Because await operates on a promise, it pauses operation and resumes as soon as the promise resolves.

We can use setTimeout to create a promise that resolves after a specified amount of time. Further, there's no reason to capture the result of the promise.

async{
  //do something
  await new Promise(resolve=>setTimeout(resolve), /*specified amount of time*/)
  //do something with result
}

We can package this into a module for convenience:

import delay from "asynchronous-delay";
async{
  //do something
  await delay(/*specified amount of time*/);
  //do something with result
}

Event Loop

It is sometimes useful to use setTimeout without a second argument to force code to execute in the next event loop.

//do something
setTimeout(()=>{
  //do something in the next event loop.
})

A similar effect can be achieved using delay.

async {
  //do something
  await delay();
  //do something in the next event loop.
}

FAQs

Package last updated on 20 Nov 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.