Function listenWalkerOnce

  • Subscribes to filtered walker progress events with one-time execution.

    Listens for events matching the filter predicate, then executes callback once and automatically unsubscribes. Useful for waiting for specific walker conditions.

    Parameters

    • filterFn: (event: WalkerContract) => boolean

      Predicate to filter which events trigger the callback

    • fn: (event: WalkerContract) => void

      Callback function to handle the filtered event (called only once)

    Returns () => void

    Unsubscribe function to cancel the listener before it fires

    import { listenWalkerOnce, Walker } from "backtest-kit";

    // Wait for walker to complete all strategies
    listenWalkerOnce(
    (event) => event.strategiesTested === event.totalStrategies,
    (event) => {
    console.log("Walker completed!");
    console.log("Best strategy:", event.bestStrategy, event.bestMetric);
    }
    );

    // Wait for specific strategy to be tested
    const cancel = listenWalkerOnce(
    (event) => event.strategyName === "my-strategy-v2",
    (event) => console.log("Strategy v2 tested:", event.metricValue)
    );

    Walker.run("BTCUSDT", {
    walkerName: "my-walker",
    exchangeName: "binance",
    frameName: "1d-backtest"
    });

    // Cancel if needed before event fires
    cancel();