This is an IBM Automation portal for Integration products. To view all of your ideas submitted to IBM, create and manage groups of Ideas, or create an idea explicitly set to be either visible by all (public) or visible only to you and IBM (private), use the IBM Unified Ideas Portal (https://ideas.ibm.com).
We invite you to shape the future of IBM, including product roadmaps, by submitting ideas that matter to you the most. Here's how it works:
Start by searching and reviewing ideas and requests to enhance a product or service. Take a look at ideas others have posted, and add a comment, vote, or subscribe to updates on them if they matter to you. If you can't find what you are looking for,
Post an idea.
Get feedback from the IBM team and other customers to refine your idea.
Follow the idea through the IBM Ideas process.
Welcome to the IBM Ideas Portal (https://www.ibm.com/ideas) - Use this site to find out additional information and details about the IBM Ideas process and statuses.
IBM Unified Ideas Portal (https://ideas.ibm.com) - Use this site to view all of your ideas, create new ideas for any IBM product, or search for ideas across all of IBM.
ideasibm@us.ibm.com - Use this email to suggest enhancements to the Ideas process or request help from IBM for submitting your Ideas.
Hi,
The urlopen.open() is asynchronous which is non-blocking, and accept a callback function.
“callback: The asynchronous function to call after the urlopen.open() connects, sends the data to the target, and the response header is parsed. The callback is in the function(error,response){} form. When a method has no response, use only the error object in the callback function; that is, function(error).” https://www.ibm.com/docs/en/datapower-gateway/10.5?topic=module-urlopenopen-connect-target-servers
You can also promisify urlopen.open() using the util module (https://www.ibm.com/docs/en/datapower-gateway/10.5?topic=apis-util-module#util_js__promisify) which will allow you to use promises. If you need is to execute two or more urlopen operations back to back, where each subsequent operation starts when the previous operation succeeds, with the result from the previous step, then promises will make it simpler.
So in summary in the context of the specific GatewayScript action , you can have several async operations running in parallel and there's no blocking, just as in node.js. However, GatewayScript action itself can’t be marked as async meaning that it does not complete until all outstanding async operations have completed.
Thank you for submitting this request. Please confirm that what you are requesting is a true Fire and Forget. If any failure happens at the protocol or payload there will be no further action taken by the Gateway including logging the issue even took place. If that is not the case please provide additional details on the business and technical requirements.