Keeping callbacks in sequence - do I need await?

Hi + tx for your support!

I have a squence of translations:

 TMSFNCCloudTranslation.Translate('First Item', 'fr',
    procedure(const ARequest: TTMSFNCCloudTranslationRequest; const ARequestResult: TTMSFNCCloudBaseRequestResult)
    begin
      if ARequest.Translations.Count > 0 then
        cmbWeb.Items.Add('1='+ARequest.Translations[0].TranslatedText);
    end);
 TMSFNCCloudTranslation.Translate('Second Item', 'fr',
    procedure(const ARequest: TTMSFNCCloudTranslationRequest; const ARequestResult: TTMSFNCCloudBaseRequestResult)
    begin
      if ARequest.Translations.Count > 0 then
        cmbWeb.Items.Add('2='+ARequest.Translations[0].TranslatedText);
    end);

I want to keep the callbacks in sequence, but am unsure how to. Maybe await is an option, but I have no idea, how to use it here.

Thanks for every hint!

In the sample before I could just cascade and embed the translating within each callback.
So maybe this example is better: Given a string with some words. I want to translate each single word and concat the translated words to one string. How can I do this?

It will be easier, cheaper & more efficient to first concatenate the words and then do the translation via a stringlist in a single request:

TMSFNCCloudTranslation.TranslateText(const AText: TStringList; const ATarget: string);:

Yes, this is true for the example, but not always possible. So my question stillis: How can I ensure the sequence of the translations (and other methods with callbacks).

Only way is to launch 2nd request from callback of first request. There is no guarantee otherwise callbacks will arrive in sequence due to asynchronous nature of the HTTP requests happening in the background.