Skip to content

vue-mvvm / core / syncio / ensureSync

ensureSync() ​

ts
function ensureSync<T>(val): Promise<Awaited<T>>;

Helper function that ensures that a user-defined function return value is awaited if needed

Type Parameters ​

T ​

T

Parameters ​

val ​

The value that should be awaited if needed.

T | Promise<T>

Returns ​

Promise<Awaited<T>>

A promise with the awaited value if it was required

Example ​

ts
// User defined function that might return a promise or directly a value
function foo(sendPromise: boolean): Promise<number>|number> {
    if (sendPromise) {
        return Promise.resolve(123);
    }

    return 123;
}

// somewhere in the lib
const val: number = await syncio.ensureSync<number>(foo(false));
const val2: number = await syncio.ensureSync<number>(foo(true));