hook_example.ts 710 B

12345678910111213141516171819202122232425262728293031
  1. import {DataPersisterArgs, HookPersister} from "~/types/interfaces";
  2. import BaseHook from "~/services/dataPersister/hook/baseHook";
  3. class Hook_example extends BaseHook implements HookPersister{
  4. static priority = 10
  5. constructor() {
  6. super()
  7. }
  8. async invoke(args: DataPersisterArgs): Promise<any>{
  9. await timeoutPromise(3000)
  10. console.log('Hook 1');
  11. throw new Error('STOP!')
  12. }
  13. static support(args:DataPersisterArgs): boolean{
  14. return args.hook === 'test'
  15. }
  16. }
  17. export default Hook_example
  18. function timeoutPromise(interval:number) {
  19. return new Promise((resolve, reject) => {
  20. setTimeout(function(){
  21. console.log('done')
  22. resolve("done");
  23. }, interval);
  24. });
  25. };