eslint-config-lemon
Version:
<div align="center"> <br> <img width="400" src="logo.svg"> <br> <br> </div>
29 lines (27 loc) • 725 B
text/coffeescript
DLList = require "./DLList"
class Sync
constructor: (, ) ->
= 0
= new DLList()
isEmpty: -> .length == 0
_tryToRun: ->
if ( < 1) and .length > 0
++
{ task, args, resolve, reject } = .shift()
cb = try
returned = await task args...
() -> resolve returned
catch error
() -> reject error
--
cb()
schedule: (task, args...) =>
resolve = reject = null
promise = new (_resolve, _reject) ->
resolve = _resolve
reject = _reject
.push { task, args, resolve, reject }
promise
module.exports = Sync