UNPKG

@danielkalen/simplybind

Version:

Magically simple, framework-less one-way/two-way data binding for frontend/backend in ~5kb.

29 lines (25 loc) 550 B
function SimplePromise () { this.listeners = []; } SimplePromise.prototype.fulfill = function (value) { if (!this.isFulfilled) { this.isFulfilled = true; this.value = value; this.listeners.forEach(function (listener) { listener(); }); } }; SimplePromise.prototype.then = function (success) { if (this.isFulfilled) { var self = this; setTimeout(function () { success(self.value); }); } else { this.listeners.push(success); } }; module.exports = function () { return new SimplePromise(); };