这很关键:如何在DUnitX中测试我的程序(使用TTask
)?
我有一些看起来像这样的代码:
var
FReq: IRequest;
begin
FReq := TGetRequest.Create('127.0.0.1', '80540');
FReq := TGetRequest.ExecuteAsync(
procedure
begin
ShowMessage('success');
end,
procedure(const Err: String)
begin
ShowMessage(Err);
end
);
基本上,方法ExecuteAsync
在内部运行执行HTTP操作的TTask.Run(...)
。完成HTTP客户端(TIdHTTP)后,将通过以下方式触发回调:
TThread.Queue(nil, procedure begin SuccessCallback; end);
或者有例外情况:
TThread.Queue(nil, procedure begin ErrorCallback('Something went wrong'); end);
如何告诉DUnitX等待异步请求?
注意:回调不返回任何内容,它们都是过程。有什么办法吗?