@woosh/meep-engine
Version:
Pure JavaScript game engine. Fully featured and production ready.
39 lines (31 loc) • 733 B
JavaScript
import { assert } from "../../assert.js";
import { AsynchronousAction } from "./AsynchronousAction.js";
export class SynchronousAction extends AsynchronousAction {
/**
*
* @param {function()} factory
*/
constructor(factory) {
super();
assert.isFunction(factory, 'factory');
/**
*
* @type {function()}
* @private
*/
this.__factory = factory;
}
start() {
super.start();
try {
this.__factory();
} catch (e) {
this.__fail(e);
return;
}
this.__succeed();
}
cancel() {
return Promise.resolve();
}
}