У меня есть простая функция в Delphi, помеченная как функция [async]
.
В настоящее время функция ничего не делает. Он буквально просто возвращает значение Boolean
True
:
[async]
function MyAsyncFunction(): Boolean;
implementation
function MyAsyncFunction(): Boolean;
begin
Result := True;
end;
Но затем каждый раз, когда я пытаюсь использовать такую функцию, как:
if MyAsyncFunction then
begin
// Do Stuff
end;
то я получаю следующую ошибку:
[Ошибка] Ожидается логическое значение, но контекст найден
Что такое Context
и как правильно вызвать функцию async
в TMS WEB Core с помощью Delphi?
@DalikaPrasnikar дал отличную ссылку в комментариях относительно async
в TMS WEB Core.
Оказывается, мне просто пришлось обернуть вызов MyAsyncFunction
в такую функцию Await
:
if Await(MyAsyncFunction) then
begin
// Do Stuff
end;
И тогда это работает
Но вам также необходимо пометить метод, из которого вы вызываете, как [async]
, иначе вы получите ошибку await only available in async procedure
.
Вы понимаете, что означает
asynch
?