When working with Lightning Web Components, many developers notice that Apex calls seem to run individually rather than being grouped together. Since LWC does not expose something like action.setBackground() (as used in Aura to influence boxcarring behavior), a natural question comes up: has Salesforce removed boxcarring for LWC server calls?
The short answer is: No, boxcarring still exists, but it works differently behind the scenes, and it only becomes visible under particular load conditions.
When Lightning Web Components were introduced, Salesforce made major architectural changes to how client-to-server calls are executed. LWCs communicate through Lightning Data Service (LDS) rather than directly through Aura’s action queue. You do see multiple Apex calls being fired in parallel, and this may give the impression that boxcarring is gone.
Under the hood, however, things are a little more nuanced.
How the request flow actually works
A request from an LWC travels through several layers:
LWC ---> LDS (Lightning Data Service) ---> ADS (Aura Data Service) ---> server
LWC itself fires separate HTTP requests, but LDS still flows through ADS, which still performs boxcarring under certain conditions.
This means that boxcarring has not been removed—it’s just moved deeper in the stack.
The role of browser limits
Modern browsers limit the number of parallel AJAX/XHR calls to the same domain. Chrome, for example, allows only 6 parallel requests. When LWC triggers many Apex calls “around the same time,” something interesting happens:
- The first 5 (or 6 depending on browser behavior) run in parallel.
- After those are occupied, any additional request gets queued by ADS.
- ADS sends those queued requests back to Salesforce together.
- Salesforce still executes discrete Apex methods—so you see multiple logs in the Developer Console even if the network tab shows fewer calls.
So visually you may see only a few network requests, but Apex logs reveal many individual transactions.
Example scenario
Suppose a page has multiple LWC components, each calling Apex. When the page loads, you may observe that the first five components load data immediately, while others appear pending. After one finishes, you might see a combined XHR request containing several actions.
Even though you see only one VisualForce Remoting (XHR) request, Salesforce processes each Apex call independently on the backend.
So is boxcarring still happening?
Yes, but:
- LWC runs requests independently at the LDS layer.
- ADS still groups remaining calls only when the browser is saturated.
- Boxcarring is not exposed to developers.
- Salesforce has not documented this and may change it in future releases.
Why you may think it is removed
If your page never triggers more than ~5 simultaneous calls, then boxcarring will never activate. In that case, everything looks like “no boxcarring exists” because LDS sends individual calls and nothing triggers queuing.
Practical takeaway
If you want to avoid boxcarring, make sure that no more than five calls happen concurrently. In fact, you can deliberately orchestrate batches of 5 to optimize loading behavior.
For example, you can control concurrency programmatically:
async function executeLimitedRequests(requests) {
const maxConcurrent = 5;
const results = [];
while (requests.length) {
const batch = requests.splice(0, maxConcurrent);
const batchResults = await Promise.all(batch.map(fn => fn()));
results.push(...batchResults);
}
return results;
}
Recent change worth noting
Historically, boxcarred requests shared governor limits, which caused unexpected failures. Salesforce recently fixed this: each request now receives separate governor limits, even though the network request is bundled.
Conclusion
Boxcarring has not been removed from Lightning Web Components. It simply occurs deeper in the platform, and only when parallel requests exceed browser limits. Because most pages do not exceed that threshold, many developers assume boxcarring has been removed. Salesforce also does not document this behavior and may change it again in future releases.
So the real answer is:
Yes, boxcarring is still there — but you only see it under specific load conditions, and LWC tries to hide it behind LDS and ADS layers.
Enroll for Career-Building Salesforce Training with 100% Money Back Guarantee
Our Salesforce Course is designed to offer a thorough understanding of the Salesforce platform, equipping you with the essential skills to excel in the CRM industry. The program includes important modules like Salesforce Admin, Developer, and AI, seamlessly combining theoretical knowledge with practical application. By working on real-world projects and assignments, you will develop the expertise to confidently address complex business challenges using Salesforce solutions. Our expert instructors ensure you gain both technical competence and industry-relevant insights to succeed within the Salesforce ecosystem.
Along with technical expertise, our Salesforce training in Pune provides personalized mentoring, certification guidance, and interview preparation to help boost your career. You’ll have access to comprehensive study materials, hands-on project experience, and one-on-one support throughout your journey. By the end of the course, you’ll be prepared for certification exams and equipped with the practical problem-solving skills that employers value. Start your Salesforce career with us and explore a world of exciting opportunities. Enroll for a Free Demo now!




Leave a Reply
You must be logged in to post a comment.