edit.js 774 B

123456789101112131415161718192021222324252627282930313233
  1. let addressPromise = [];
  2. /** 地址编辑Promise */
  3. export const getAddressPromise = () => {
  4. let resolver;
  5. let rejecter;
  6. const nextPromise = new Promise((resolve, reject) => {
  7. resolver = resolve;
  8. rejecter = reject;
  9. });
  10. addressPromise.push({ resolver, rejecter });
  11. return nextPromise;
  12. };
  13. /** 用户保存了一个地址 */
  14. export const resolveAddress = (address) => {
  15. const allAddress = [...addressPromise];
  16. addressPromise = [];
  17. console.info('用户保存了一个地址', address);
  18. allAddress.forEach(({ resolver }) => resolver(address));
  19. };
  20. /** 取消编辑 */
  21. export const rejectAddress = () => {
  22. const allAddress = [...addressPromise];
  23. addressPromise = [];
  24. allAddress.forEach(({ rejecter }) => rejecter(new Error('cancel')));
  25. };