Verbesserte
This commit is contained in:
@@ -126,6 +126,10 @@ async function fetchStores(cookieHeader, profileId, options = {}) {
|
||||
const delayBetweenRequestsMs = Number.isFinite(options.delayBetweenRequestsMs)
|
||||
? Math.max(0, options.delayBetweenRequestsMs)
|
||||
: 0;
|
||||
const onStoreCheck =
|
||||
typeof options.onStoreCheck === 'function'
|
||||
? options.onStoreCheck
|
||||
: null;
|
||||
try {
|
||||
const response = await client.get(`/api/user/${profileId}/stores`, {
|
||||
headers: buildHeaders(cookieHeader),
|
||||
@@ -143,14 +147,14 @@ async function fetchStores(cookieHeader, profileId, options = {}) {
|
||||
zip: store.zip || ''
|
||||
}));
|
||||
|
||||
return annotateStoresWithPickupSlots(normalized, cookieHeader, delayBetweenRequestsMs);
|
||||
return annotateStoresWithPickupSlots(normalized, cookieHeader, delayBetweenRequestsMs, onStoreCheck);
|
||||
} catch (error) {
|
||||
console.warn('Stores konnten nicht geladen werden:', error.message);
|
||||
return [];
|
||||
}
|
||||
}
|
||||
|
||||
async function annotateStoresWithPickupSlots(stores, cookieHeader, delayBetweenRequestsMs = 0) {
|
||||
async function annotateStoresWithPickupSlots(stores, cookieHeader, delayBetweenRequestsMs = 0, onStoreCheck) {
|
||||
if (!Array.isArray(stores) || stores.length === 0) {
|
||||
return [];
|
||||
}
|
||||
@@ -160,6 +164,13 @@ async function annotateStoresWithPickupSlots(stores, cookieHeader, delayBetweenR
|
||||
|
||||
for (let index = 0; index < stores.length; index += 1) {
|
||||
const store = stores[index];
|
||||
if (onStoreCheck) {
|
||||
try {
|
||||
onStoreCheck(store, index + 1, stores.length);
|
||||
} catch (callbackError) {
|
||||
console.warn('Store-Progress-Callback fehlgeschlagen:', callbackError);
|
||||
}
|
||||
}
|
||||
if (delayMs > 0 && index > 0) {
|
||||
await wait(delayMs);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user