const Alert = function() { let fn = null; return { now: function(Component, okCallback) { if (!fn) { return window.setTimeout(() => this.now(Component, okCallback), 50); } fn(Component, okCallback); }, subscribe: function(_fn) { fn = _fn; }, }; }; export const alert = new Alert(); const Prompt = function() { let fn = null; return { now: function(text, okCallback, cancelCallback, type) { if (!fn) { return window.setTimeout(() => { this.now(text, okCallback, cancelCallback, type); }, 50); } fn(text, okCallback, cancelCallback, type); }, subscribe: function(_fn) { fn = _fn; }, }; }; export const prompt = new Prompt(); const Confirm = function() { let fn = null; return { now: function(comp, okCallback, cancelCallback) { if (!fn) { return window.setTimeout(() => { this.now(comp, okCallback, cancelCallback); }, 50); } fn(comp, okCallback, cancelCallback); }, subscribe: function(_fn) { fn = _fn; }, }; }; export const confirm = new Confirm();