Add asynchronous functionallity
Platform Server Release Oct.2019 CP5

Lately there were some situations wherein we needed an asynchronous process. OS has no direct solution for that, the workarounds being the use of BPT actions or timers. 

I propose to have a callback structure in the same fashion as the onNotify (but with better parameters handling).

I believe this is also proposed before.

Hi Hans,

Thank you for this idea. Can you please explain your wish for an asynchronous process a bit in more detail? And why won't BPT or Timer asynchronous logic serve your purpose? The reason I'm asking this is because I've seen this same request done by other OutSystems Developers before but I'm not still sure it is the exact same idea that you're requesting.

When you say a callback structure in the same fashion as the OnNotify action, would that mean some sort of page event handlers that work asynchronously... so that you wouldn't need to resort to crude Javascript functions and their callback programming (like PrototypeJS XMLHTTPRequest object)? Is that what you're in need of?

Hi Pedro,

We had the situation that a mobile screen shows total usage data to the client that were based on 2 REST calls. This data needed to be aggregated and calculated before showing it on screen. Since the REST interface is a given, it would in this case have been handy if we could have called it in the background, doing the calculation stuff and when the results were ready showing them on the screen. I had indeed thought about doing it in javascript but we decided not to do that and in this case just accept the performance penalty. But yes, a kind of callback structure like with JS was what I had in mind :)

Very interesting Hans, Thank you for sharing your scenario. This is indeed great input for consideration, if not immediately in the product at least as a framework component that could be shared in the Forge. I'll keep dropping by if I get any news from either options. Regards, Pedro
Btw, please fix the typo ;)

Kilian Hekhuis
Your ass! :)
Dirty minds! But, yes thank you, done :)
Changed the status to
on 01 Oct 2019

Hi Hans,

Thanks for your idea. In mobile and reactive all data actions and screen aggregates are fetched asynchronously. This means that if you have 2 data actions on a screen they will run in parallel.

Additionally, last year we also made a change that allows these not to be called immediately when the screen is shown, but only on demand, when users refresh them explicitly.

Tiago Simões