@turbox3d/reactivity
Version:
Large-scale reactive state management library
21 lines • 661 B
JavaScript
import { isPromise } from '@turbox3d/shared';
export function normalNextReturn(next, dispatchedAction, callback, errorCallback) {
var result = next(dispatchedAction);
if (isPromise(result)) {
return new Promise(function (resolve, reject) {
result.then(function (res) {
callback && callback();
resolve(res);
})["catch"](function (error) {
errorCallback && errorCallback(error.stack || error.message);
reject(error);
});
});
}
if (result && result instanceof Error) {
errorCallback && errorCallback(result.stack || result.message);
} else {
callback && callback();
}
return result;
}