hook_example.ts 714 B

12345678910111213141516171819202122232425262728293031
  1. import {DataProviderArgs, HookProvider} from "~/types/interfaces";
  2. import BaseHook from "~/services/dataProvider/provider/hook/baseHook";
  3. class Hook_example extends BaseHook implements HookProvider{
  4. static priority = 10
  5. constructor() {
  6. super()
  7. }
  8. async invoke(args: DataProviderArgs): Promise<any> {
  9. await timeoutPromise(3000)
  10. console.log('Hook 1');
  11. throw new Error('STOP!')
  12. }
  13. static support(args:DataProviderArgs): 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. };