Skip to main content

deleteAsync

The deleteAsync method sends an HTTP DELETE request to the specified endpoint. It supports optional route parameters, custom headers, and request cancellation via an AbortController.


Method Signature

public async deleteAsync(
routeParam: string | null = null,
headers: Headers = {},
controller: AbortController | null = null
): Promise<any>

Parameters

NameTypeDescriptionOptionalDefault Value
routeParamstring | nullOptional route segment to append to the base URLYesnull
headersHeadersOptional HTTP headers to include in the requestYes{}
controllerAbortController | nullOptional controller to allow request cancellationYesnull

Returns

The deleteAsync method returns a Promise that resolves to one of the following, depending on the server response:

  • Parsed JSON object if the response has a Content-Type of application/json
  • Plain text string if the response is text-based
  • null if the server responds with HTTP status 204 No Content

Error Handling

If the request fails, the returned Promise rejects with an error object containing:

  • message: A descriptive error message
  • status: HTTP status code (if available)
  • statusText: HTTP status text (if available)
  • responseBody: Parsed response body or raw text for further inspection

Errors can occur due to network failures, request timeouts, server errors, or manual request cancellation (via AbortController).

Example

import LunexClient from 'lunex-http';

const client = new LunexClient('https://api.example.com', {
Authorization: 'Bearer YOUR_TOKEN',
});

async function run(): Promise<void> {
try {
const response: any = await client.deleteAsync('users/123');
console.log('User deleted:', response);
} catch (error: unknown) {
console.error('DELETE request failed:', error);
}
}

run();