Updated code:
Unit1.pas
uses JS;
TMyObject1 = class(TObject)
[async]
function ThisMethodIsAsync: Boolean;
end;
function ThisMethodIsAsync: Boolean;
var FWebHttpRequest : TWebHttpRequest;
LRes: String;
begin
FWebHttpRequest := TWebHttpRequest.Create(nil);
FWebHttpRequest.URL := 'https://api.example.com/data';
FWebHttpRequest.Headers.AddPair('Content-Type', 'text');
LRes := await(string, FWebHttpRequest.Perform);
Result := LRes <> '';
end;
Unit2.pas
TMyObject2 = class(TObject)
procedure CallAsyncFunction;
end;
procedure CallAsyncFunction;
var LRes1: Boolean;
begin
LRes1 := (TMyObject1.ThisMethodIsAsync());
end;
As you can see, CallAsyncFunction is not async anymore.
Now I'm getting this error:
[Error] Unit2.pas: Incompatible types: got "TJSPromise" expected "Boolean"
Which makes no sense at all.