Replay an async function that awaits a typed result and updates local state.

Async Result Panel

async_result.ts
type ServiceResult = {
    prepared: number;
    score: number;
};

const fetched: number = ;
let prepared: number = 0;
let score: number = 0;

async function calculate(value: number): Promise<ServiceResult> {
    prepared = value + 1;
    const remote: number = await Promise.resolve(prepared + 9);
    score = remote;
    return { prepared, score };
}

async function main(): Promise<void> {
    const result: ServiceResult = await calculate(fetched);
    console.log(`fetched=${fetched}`);
    console.log(`prepared=${result.prepared}`);
    console.log(`score=${result.score}`);
}

main();
type ServiceResult = {
    prepared: number;
    score: number;
};

const fetched: number = ;
let prepared: number = 0;
let score: number = 0;

async function calculate(value: number): Promise<ServiceResult> {
    prepared = value + 1;
    const remote: number = await Promise.resolve(prepared + 9);
    score = remote;
    return { prepared, score };
}

async function main(): Promise<void> {
    const result: ServiceResult = await calculate(fetched);
    console.log(`fetched=${fetched}`);
    console.log(`prepared=${result.prepared}`);
    console.log(`score=${result.score}`);
}

main();
type ServiceResult = {
    prepared: number;
    score: number;
};

const fetched: number = ;
let prepared: number = 0;
let score: number = 0;

async function calculate(value: number): Promise<ServiceResult> {
    prepared = value + 1;
    const remote: number = await Promise.resolve(prepared + 9);
    score = remote;
    return { prepared, score };
}

async function main(): Promise<void> {
    const result: ServiceResult = await calculate(fetched);
    console.log(`fetched=${fetched}`);
    console.log(`prepared=${result.prepared}`);
    console.log(`score=${result.score}`);
}

main();
async result An `async` function can keep replay visible by awaiting deterministic data and then assigning ordinary local values.