2
 Followers
9
 Likes

Add asynchronous functionallity

Backend
Implemented
on 01 Oct 2019
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).

Created on 1 Mar 2016
Comments (8)
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?

Thanks,
Pedro
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 :)

Regards,
Hans
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 ;)

Your ass! :)
Dirty minds! But, yes thank you, done :)
Changed the status to
Implemented
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.


Cheers,
Tiago Simões

views
1403
Followers
2