Socket
Socket
Sign inDemoInstall

last-one-wins

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

last-one-wins

Make sure the last sync call to an async function is executed after all previous ones have finished


Version published
Weekly downloads
4.4K
increased by27.65%
Maintainers
1
Weekly downloads
 
Created
Source

last-one-wins

Make sure the last sync call to an async function is executed after all previous ones have finished

npm install last-one-wins

build status

Usage

var low = require('last-one-wins')

var pick = low(function (num, cb) {
  setTimeout(function () {
    console.log('picked', num)
    cb()
  }, Math.floor(Math.random() * 100))
})

pick(1)
pick(2)
pick(3)
pick(4)
pick(5) // this one will always win since its called the last

Calling the above will print out

picked 1
picked 5

API

var fn = low(asyncWorker)

Wrap a async function to make sure that the last sync call to that function is executed after any previous calls. Note that not all calls are executed - only the last one is guaranteed to be executed.

fn and asyncWorker should have the signature (value, cb)

Use with leveldb

This module is useful if you want sync a value to a leveldb and want to make sure the latest version of that value is the one written. For example

var update = low(function (val, cb) {
  db.put('my-key', val, cb)
})

update('a')
update('b')
update('c')

Is guaranteed to always write c to the key my-key.

License

MIT

FAQs

Package last updated on 13 Jan 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

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc