34 lines
774 B
JavaScript
34 lines
774 B
JavaScript
|
let addressPromise = [];
|
||
|
|
||
|
/** 地址编辑Promise */
|
||
|
export const getAddressPromise = () => {
|
||
|
let resolver;
|
||
|
let rejecter;
|
||
|
const nextPromise = new Promise((resolve, reject) => {
|
||
|
resolver = resolve;
|
||
|
rejecter = reject;
|
||
|
});
|
||
|
|
||
|
addressPromise.push({ resolver, rejecter });
|
||
|
|
||
|
return nextPromise;
|
||
|
};
|
||
|
|
||
|
/** 用户保存了一个地址 */
|
||
|
export const resolveAddress = (address) => {
|
||
|
const allAddress = [...addressPromise];
|
||
|
addressPromise = [];
|
||
|
|
||
|
console.info('用户保存了一个地址', address);
|
||
|
|
||
|
allAddress.forEach(({ resolver }) => resolver(address));
|
||
|
};
|
||
|
|
||
|
/** 取消编辑 */
|
||
|
export const rejectAddress = () => {
|
||
|
const allAddress = [...addressPromise];
|
||
|
addressPromise = [];
|
||
|
|
||
|
allAddress.forEach(({ rejecter }) => rejecter(new Error('cancel')));
|
||
|
};
|