aboutsummaryrefslogtreecommitdiff
path: root/src/services/promise_interval
diff options
context:
space:
mode:
authorShpuld Shpludson <shp@cock.li>2020-11-01 17:50:43 +0000
committerShpuld Shpludson <shp@cock.li>2020-11-01 17:50:43 +0000
commit148789767a28a988751af9635cd53fe6d85a4c75 (patch)
tree899b04a091d20ee5f1209fd141ee8ecadf591a5d /src/services/promise_interval
parent40ce3a9bd8711029453f3753637ff7a53d7ee23f (diff)
parent3ead79ddb42967e2e5e7ccc6d832543b066c7c9b (diff)
Merge branch 'fix/chat-misc-fixes' into 'develop'
Misc Chat fixes See merge request pleroma/pleroma-fe!1265
Diffstat (limited to 'src/services/promise_interval')
-rw-r--r--src/services/promise_interval/promise_interval.js9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/services/promise_interval/promise_interval.js b/src/services/promise_interval/promise_interval.js
index cf17970d..0c0a66a0 100644
--- a/src/services/promise_interval/promise_interval.js
+++ b/src/services/promise_interval/promise_interval.js
@@ -10,7 +10,14 @@ export const promiseInterval = (promiseCall, interval) => {
let timeout = null
const func = () => {
- promiseCall().finally(() => {
+ const promise = promiseCall()
+ // something unexpected happened and promiseCall did not
+ // return a promise, abort the loop.
+ if (!(promise && promise.finally)) {
+ console.warn('promiseInterval: promise call did not return a promise, stopping interval.')
+ return
+ }
+ promise.finally(() => {
if (stopped) return
timeout = window.setTimeout(func, interval)
})