Asynchronous Programming in Salesforce

Sharing is Caring

What is Asynchronous Programming?

In synchronous programming, each step is performed one after the previous one is finished executing. This means that each step blocks the next step.

In a lot of cases, we probably don’t necessarily need to do everything in order. In asynchronous programming, steps can all execute in parallel and/or in really any order.

Salesforce queues all asynchronous calls on separate execution threads. This basically stops the caller from blocking and waiting for a response.

Asynchronous processing provides some really good advantages like

  • Scalability: because the calls are queued up there’s a lot less limits that Salesforce Programmers need to be worried about.
  • User Efficiency: employees, customers, and partners don’t necessarily need to sit around waiting for a long running process to finish.

Common Use Cases

I commonly use asynchronous methods whenever I need to do a callout from a trigger when some field has been updated. For example at eWAY, we needed to do a credit check when a perspective merchant reached a certain stage in the registration process.

Different Types of Asyncronous Processes

Salesforce provides a few different kinds of ways to do asynchronous programming each with their own advantages and disadvantages. One of the most common ways is to use a future method.

Author: Brian Cline

Brian is a programmer living in Niagara Falls with ten years of development experience. He is passionate about automation, business process re-engineering, and gamification. For the last six years or so, he has been working with Salesforce and JavaScript.

Related Posts

Sharing is Caring