Skip to content
This repository was archived by the owner on Jun 4, 2024. It is now read-only.

Commit e2455d2

Browse files
committed
🚚 Move updateRequestQueue to the top of the function
(so that clientside can use it - see next commit)
1 parent b9254ed commit e2455d2

File tree

1 file changed

+42
-42
lines changed

1 file changed

+42
-42
lines changed

src/actions/index.js

Lines changed: 42 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -371,6 +371,44 @@ function updateOutput(
371371
const {config, layout, graphs, dependenciesRequest, hooks} = getState();
372372
const {InputGraph} = graphs;
373373

374+
const getThisRequestIndex = () => {
375+
const postRequestQueue = getState().requestQueue;
376+
const thisRequestIndex = findIndex(
377+
propEq('uid', requestUid),
378+
postRequestQueue
379+
);
380+
return thisRequestIndex;
381+
};
382+
383+
const updateRequestQueue = (rejected, status) => {
384+
const postRequestQueue = getState().requestQueue;
385+
const thisRequestIndex = getThisRequestIndex();
386+
if (thisRequestIndex === -1) {
387+
// It was already pruned away
388+
return;
389+
}
390+
const updatedQueue = adjust(
391+
merge(__, {
392+
status: status,
393+
responseTime: Date.now(),
394+
rejected,
395+
}),
396+
thisRequestIndex,
397+
postRequestQueue
398+
);
399+
// We don't need to store any requests before this one
400+
const thisControllerId =
401+
postRequestQueue[thisRequestIndex].controllerId;
402+
const prunedQueue = updatedQueue.filter((queueItem, index) => {
403+
return (
404+
queueItem.controllerId !== thisControllerId ||
405+
index >= thisRequestIndex
406+
);
407+
});
408+
409+
dispatch(setRequestQueue(prunedQueue));
410+
};
411+
374412
/*
375413
* Construct a payload of the input and state.
376414
* For example:
@@ -470,44 +508,6 @@ function updateOutput(
470508
credentials: 'same-origin',
471509
body: JSON.stringify(payload),
472510
}).then(function handleResponse(res) {
473-
const getThisRequestIndex = () => {
474-
const postRequestQueue = getState().requestQueue;
475-
const thisRequestIndex = findIndex(
476-
propEq('uid', requestUid),
477-
postRequestQueue
478-
);
479-
return thisRequestIndex;
480-
};
481-
482-
const updateRequestQueue = rejected => {
483-
const postRequestQueue = getState().requestQueue;
484-
const thisRequestIndex = getThisRequestIndex();
485-
if (thisRequestIndex === -1) {
486-
// It was already pruned away
487-
return;
488-
}
489-
const updatedQueue = adjust(
490-
merge(__, {
491-
status: res.status,
492-
responseTime: Date.now(),
493-
rejected,
494-
}),
495-
thisRequestIndex,
496-
postRequestQueue
497-
);
498-
// We don't need to store any requests before this one
499-
const thisControllerId =
500-
postRequestQueue[thisRequestIndex].controllerId;
501-
const prunedQueue = updatedQueue.filter((queueItem, index) => {
502-
return (
503-
queueItem.controllerId !== thisControllerId ||
504-
index >= thisRequestIndex
505-
);
506-
});
507-
508-
dispatch(setRequestQueue(prunedQueue));
509-
};
510-
511511
const isRejected = () => {
512512
const latestRequestIndex = findLastIndex(
513513
propEq('controllerId', outputIdAndProp),
@@ -525,7 +525,7 @@ function updateOutput(
525525

526526
if (res.status !== STATUS.OK) {
527527
// update the status of this request
528-
updateRequestQueue(true);
528+
updateRequestQueue(true, res.status);
529529
return;
530530
}
531531

@@ -535,7 +535,7 @@ function updateOutput(
535535
* If so, ignore this request.
536536
*/
537537
if (isRejected()) {
538-
updateRequestQueue(true);
538+
updateRequestQueue(true, res.status);
539539
return;
540540
}
541541

@@ -547,11 +547,11 @@ function updateOutput(
547547
* get out of order
548548
*/
549549
if (isRejected()) {
550-
updateRequestQueue(true);
550+
updateRequestQueue(true, res.status);
551551
return;
552552
}
553553

554-
updateRequestQueue(false);
554+
updateRequestQueue(false, res.status);
555555

556556
// Fire custom request_post hook if any
557557
if (hooks.request_post !== null) {

0 commit comments

Comments
 (0)