notify.js 933 B

123456789101112131415161718192021222324252627
  1. export async function notifyCurrentPage({name, value}) {
  2. const currentPages = getCurrentPages(), length = currentPages.length;
  3. if (currentPages && length) {
  4. const page = currentPages[length - 1], {observers} = page;
  5. if (observers) {
  6. const observer = observers[name];
  7. if (typeof observer === "function") {
  8. const currentResult = await observer.call(page, value);
  9. }
  10. }
  11. }
  12. }
  13. export function notifyAllPage({name, value}) {
  14. const currentPages = getCurrentPages(), length = currentPages.length;
  15. if (currentPages && length) {
  16. for (let page of currentPages.reverse()) {
  17. const {observers} = page;
  18. if (observers) {
  19. const observer = observers[name];
  20. if (typeof observer === "function") {
  21. observer.call(page, value);
  22. }
  23. }
  24. }
  25. }
  26. }