SpreadJS v19 AsyncFunction usage questions

Posted by: srayaprolu on 1 May 2026, 1:10 pm EST

  • Posted 1 May 2026, 1:10 pm EST

    I’m evaluating the performance gains with AsyncFunction from SpreadJS v19 for our custom functions. I am testing with v19.0.6 and plan to migrate our custom calc functions to use calcEngine.asyncFunction.

    I have two questions:

    1. How to reliably access cell information in evaluateAsync? The evaluateAsync method provides an AsyncEvaluateContext parameter, but its public API only documents setAsyncResult. What is the officially supported way to get the sheet, row, and column of the cell being evaluated? I’ve noticed these sometimes appear on an inner object (e.g., context.ctx) with inconsistent naming (col vs column). Is this structure considered stable across minor releases?

    2. Does the context shape change when using CalcWorker? When incrementalCalculation: true is set and the CalcWorker plugin is enabled, does the AsyncEvaluateContext object have a different structure compared to main-thread async evaluation? If so, what is the single recommended access pattern that works consistently in both environments (with and without CalcWorker)?

Need extra support?

Upgrade your support plan and get personal unlimited phone support with our customer engagement team

Learn More

Forum Channels