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));