function makeAsyncFunc(func, wait = defaultWait) {
    return (...args) => {
        return new Promise(resolve => {
            if ( wait <= 0 ) {
                resolve(func(...args));