webutils.pas 371 B

123456789101112131415161718192021222324252627282930
  1. unit webutils;
  2. {$mode objfpc}
  3. interface
  4. uses
  5. web, js;
  6. function AsyncSleep(ms: NativeInt): TJSPromise;
  7. implementation
  8. function AsyncSleep(ms: NativeInt): TJSPromise;
  9. begin
  10. Result := TJSPromise.New(
  11. procedure(resolve,reject : TJSPromiseResolver)
  12. begin
  13. window.setTimeout(
  14. procedure()
  15. begin
  16. resolve(ms);
  17. end,
  18. ms);
  19. end);
  20. end;
  21. end.