Bird
Raised Fist0
Angularframework~8 mins

PUT and DELETE requests in Angular - Performance & Optimization

Choose your learning style10 modes available
Performance: PUT and DELETE requests
MEDIUM IMPACT
This affects the network request time and how quickly the UI updates after data changes.
Updating or deleting data on the server and reflecting changes in the UI
Angular
this.http.put('/api/items/' + id, data).subscribe(() => { this.items = this.items.map(item => item.id === id ? {...item, ...data} : item); });
this.http.delete('/api/items/' + id).subscribe(() => { this.items = this.items.filter(item => item.id !== id); });
Updates local data directly without reloading all items, reducing network and rendering cost.
📈 Performance GainSingle network request per action and immediate UI update without extra reloads
Updating or deleting data on the server and reflecting changes in the UI
Angular
this.http.put('/api/items/' + id, data).subscribe(() => { this.loadAllItems(); });
this.http.delete('/api/items/' + id).subscribe(() => { this.loadAllItems(); });
Reloading all items after each PUT or DELETE causes extra network requests and delays UI updates.
📉 Performance CostTriggers multiple network requests and blocks UI update until all data reloads
Performance Comparison
PatternDOM OperationsReflowsPaint CostVerdict
Reload all data after PUT/DELETEMany DOM updatesMultiple reflowsHigh paint cost[X] Bad
Update local state after PUT/DELETEMinimal DOM updatesSingle reflowLow paint cost[OK] Good
Rendering Pipeline
PUT and DELETE requests trigger network activity followed by UI updates that affect layout and paint.
→Network
→JavaScript Execution
→Layout
→Paint
⚠️ BottleneckNetwork latency and JavaScript processing of updated data
Core Web Vital Affected
INP
This affects the network request time and how quickly the UI updates after data changes.
Optimization Tips
1Avoid reloading all data after PUT or DELETE requests.
2Update UI state locally to reflect changes immediately.
3Minimize network requests to improve interaction responsiveness.
Performance Quiz - 3 Questions
Test your performance knowledge
What is a performance drawback of reloading all data after a PUT or DELETE request?
AIt improves UI responsiveness by batching updates.
BIt reduces network requests but increases CPU usage.
CIt causes multiple network requests and delays UI updates.
DIt has no impact on performance.
DevTools: Network and Performance
How to check: Open DevTools, go to Network tab, perform PUT or DELETE, observe request timing; then open Performance tab, record UI update after request completes.
What to look for: Look for minimal network requests and short UI update times indicating fast interaction responsiveness.

Practice

(1/5)
1. What is the main purpose of a PUT request in Angular's HttpClient?
easy
A. To retrieve data from the server
B. To delete a resource from the server
C. To update an existing resource by sending the full new data
D. To partially update a resource

Solution

  1. Step 1: Understand HTTP methods

    PUT is used to update or replace an existing resource completely.
  2. Step 2: Compare with other methods

    DELETE removes data, GET retrieves data, PATCH partially updates data.
  3. Final Answer:

    To update an existing resource by sending the full new data -> Option C
  4. Quick Check:

    PUT updates full resource = A [OK]
Hint: PUT replaces full data, DELETE removes resource [OK]
Common Mistakes:
  • Confusing PUT with DELETE
  • Thinking PUT partially updates data
  • Mixing GET with PUT
2. Which of the following is the correct syntax to send a DELETE request using Angular's HttpClient?
easy
A. this.http.delete('api/items/1').subscribe();
B. this.http.put('api/items/1').subscribe();
C. this.http.get('api/items/1').subscribe();
D. this.http.post('api/items/1').subscribe();

Solution

  1. Step 1: Identify the method for DELETE

    Angular's HttpClient uses delete() to send DELETE requests.
  2. Step 2: Check syntax correctness

    The method call this.http.delete('api/items/1').subscribe(); correctly sends a DELETE request and subscribes to the response.
  3. Final Answer:

    this.http.delete('api/items/1').subscribe(); -> Option A
  4. Quick Check:

    DELETE method uses http.delete() [OK]
Hint: Use http.delete() for DELETE requests [OK]
Common Mistakes:
  • Using http.put() instead of http.delete()
  • Forgetting to subscribe to the observable
  • Using http.post() for deleting
3. Given this Angular code snippet, what will be logged after the PUT request completes successfully?
const updatedItem = { id: 5, name: 'New Name' };
this.http.put('api/items/5', updatedItem).subscribe(response => {
  console.log(response);
});
medium
A. The updated item object returned from the server
B. An error message because PUT requires no body
C. Nothing, because PUT does not return data
D. The original item before update

Solution

  1. Step 1: Understand PUT request behavior

    PUT sends the full updated data and usually returns the updated resource from the server.
  2. Step 2: Analyze the subscription callback

    The response logged is the server's reply, typically the updated item object.
  3. Final Answer:

    The updated item object returned from the server -> Option A
  4. Quick Check:

    PUT returns updated data = A [OK]
Hint: PUT usually returns updated resource in response [OK]
Common Mistakes:
  • Assuming PUT returns no data
  • Confusing PUT with DELETE response
  • Expecting original item instead of updated
4. Identify the error in this Angular DELETE request code:
this.http.delete('api/items').subscribe(response => {
  console.log('Item deleted');
});

Assuming the API requires an item ID to delete a specific item.
medium
A. DELETE requests cannot be sent without a request body
B. The URL is missing the item ID to specify which item to delete
C. The subscribe method is missing a parameter
D. The console.log statement is incorrect

Solution

  1. Step 1: Check the URL for DELETE request

    The URL 'api/items' does not specify which item to delete; an ID is needed.
  2. Step 2: Understand API requirements

    APIs usually require an ID in the URL like 'api/items/1' to delete a specific item.
  3. Final Answer:

    The URL is missing the item ID to specify which item to delete -> Option B
  4. Quick Check:

    DELETE URL needs item ID = C [OK]
Hint: DELETE URL must include resource ID to delete [OK]
Common Mistakes:
  • Sending DELETE without specifying resource ID
  • Thinking DELETE needs a request body
  • Ignoring subscribe callback
5. You want to update a user's profile and then delete their old profile picture in Angular. Which sequence of HttpClient calls correctly applies PUT and DELETE requests?
// Update user profile
this.http.put('api/users/10', updatedUser).subscribe(() => {
  // Delete old profile picture
  this.http.delete('api/pictures/oldPicId').subscribe(() => {
    console.log('Profile updated and old picture deleted');
  });
});
hard
A. DELETE request first to delete picture, then PUT request inside DELETE's subscribe to update profile
B. Use only PUT request to update profile and delete picture together
C. Send PUT and DELETE requests simultaneously without waiting for response
D. PUT request first to update profile, then DELETE request inside PUT's subscribe to delete picture

Solution

  1. Step 1: Understand request order

    First update the user profile with PUT, then delete the old picture after success.
  2. Step 2: Analyze code structure

    DELETE request is inside PUT's subscribe callback, ensuring sequential execution.
  3. Step 3: Evaluate other options

    Deleting first may remove picture before profile update; simultaneous calls lack order; PUT cannot delete picture.
  4. Final Answer:

    PUT request first to update profile, then DELETE request inside PUT's subscribe to delete picture -> Option D
  5. Quick Check:

    Update then delete sequentially = B [OK]
Hint: Chain DELETE inside PUT subscribe for correct order [OK]
Common Mistakes:
  • Deleting before updating causing data mismatch
  • Sending requests simultaneously without order
  • Trying to delete picture with PUT request
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard