Skip to main content
Before this: create a Dynamic client (see Creating a Dynamic Client). By default, the Dynamic Client will be automatically initialized when you create it, but if you wish to manually initialize the client, you can set autoInitialize to false and then call initializeClient manually. You can wait until the client is ready by listening for initStatusChanged with status 'finished' (see onEvent), or by using the waitForClientInitialized helper function.

Waiting for initialization

The waitForClientInitialized function returns a promise that resolves when the client has finished initializing. This is useful when you need to ensure the client is ready before performing operations.
import { waitForClientInitialized } from '@dynamic-labs-sdk/client';

await waitForClientInitialized();
// Client is now ready

Usage

import {
  createDynamicClient,
  initializeClient
} from '@dynamic-labs-sdk/client';

const dynamicClient = createDynamicClient({
  ...
  autoInitialize: false,
});

await initializeClient();

Client init status events

You can listen to the initStatusChanged event using the onEvent method.

Listening to the client init status changes

import { onEvent } from '@dynamic-labs-sdk/client';

onEvent({
  event: 'initStatusChanged',
  listener: ({ initStatus }) => {
    console.log('initStatus: ', initStatus);
  },
});

Available statuses

  • 'uninitialized' - The client initialization has not started yet.
  • 'in-progress' - The client initialization is in progress.
  • 'finished' - The client initialization has finished.
  • 'failed' - The client initialization has failed.