TsgcWSPClient_WAMP › 事件 › OnCallProgressResult
在通过 OnCallResult 获得最终结果之前,为流式 RPC 的每个中间数据块触发。
property OnCallProgressResult: TsgcWSCallProgresslResultEvent;
// TsgcWSCallProgresslResultEvent = procedure(Connection: TsgcWSConnection; CallId, Result: string) of object
—
WAMP v1 RPC 支持渐进式结果:服务器端过程可以在完成调用之前发出任意数量的中间 CALL_PROGRESS_RESULT 帧(类型 ID 3 上的扩展)。CallId 与提供给 Call 的标识符匹配,Result 携带 JSON 编码的部分负载。客户端仍必须等待 OnCallResult(成功)或 OnCallError(失败)才能知道调用已完成。使用此事件驱动进度条、流式下载或长时间运行的报告生成。
procedure TForm1.WAMPCallProgressResult(Connection: TsgcWSConnection;
CallId, Result: string);
begin
Memo1.Lines.Add(Format('chunk for %s: %s', [CallId, Result]));
end;