Skip to content

Commit dc45bcf

Browse files
double flushPromises
1 parent d3631c0 commit dc45bcf

21 files changed

+9801
-3553
lines changed

components/FileUploader.vue

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -56,39 +56,31 @@
5656
const toggle_loading = useToggle(loading)
5757
5858
async function upload_files() {
59-
console.log("upload_files", schema)
6059
toggle_loading()
6160
var promise_array = []
6261
for (const file of internal_files.value) {
63-
console.log("upload_files", file)
6462
const promise = new Promise((resolve, reject) => {
6563
upload_file(
6664
{ route: schema.$id, file },
6765
{
6866
request_error_function: () => {
69-
console.log("upload_files request_error_function")
7067
reject()
7168
},
7269
response_function: () => {
73-
console.log("upload_files response_function")
7470
resolve()
7571
},
7672
response_error_function: () => {
77-
console.log("upload_files response_error_function")
7873
reject()
7974
},
8075
},
8176
)
8277
})
8378
promise_array.push(promise)
8479
}
85-
console.log("upload_files before await")
8680
await Promise.all(promise_array)
87-
console.log("upload_files after await")
8881
files_uploaded.value = true
8982
emit("files_uploaded", internal_files.value)
9083
91-
console.log("emitted", internal_files.value)
9284
toggle_loading()
9385
}
9486

components/ObjectSelector.vue

Lines changed: 6 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -72,25 +72,14 @@
7272
var promise_array = []
7373
for (const filename of filenames) {
7474
const params = { filename, supported_feature }
75-
const promise = new Promise((resolve, reject) => {
76-
api_fetch(
77-
{ schema, params },
78-
{
79-
request_error_function: () => {
80-
reject()
81-
},
82-
response_function: (response) => {
83-
resolve(response._data.allowed_objects)
84-
},
85-
response_error_function: () => {
86-
reject()
87-
},
88-
},
89-
)
90-
})
75+
const promise = api_fetch({ schema, params })
9176
promise_array.push(promise)
9277
}
93-
const values = await Promise.all(promise_array)
78+
const responses = await Promise.all(promise_array)
79+
let values = []
80+
for (const response of responses) {
81+
values.push(response.data.value.allowed_objects)
82+
}
9483
const all_keys = [...new Set(values.flatMap((value) => Object.keys(value)))]
9584
const common_keys = all_keys.filter(
9685
(i) => !values.some((j) => !Object.keys(j).includes(i)),
@@ -119,7 +108,6 @@
119108
emit("increment_step")
120109
}
121110
}
122-
123111
await get_allowed_objects()
124112
</script>
125113

composables/api_fetch.js

Lines changed: 33 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -29,46 +29,41 @@ export function api_fetch(
2929
if (schema.max_retry) {
3030
request_options.max_retry = schema.max_retry
3131
}
32-
return new Promise((resolve, reject) => {
33-
useFetch(schema.$id, {
34-
baseURL: geode_store.base_url,
35-
...request_options,
36-
async onRequestError({ error }) {
32+
return useFetch(schema.$id, {
33+
baseURL: geode_store.base_url,
34+
...request_options,
35+
async onRequestError({ error }) {
36+
await geode_store.stop_request()
37+
await feedback_store.add_error(
38+
error.code,
39+
schema.$id,
40+
error.message,
41+
error.stack,
42+
)
43+
if (request_error_function) {
44+
await request_error_function(error)
45+
}
46+
},
47+
async onResponse({ response }) {
48+
if (response.ok) {
3749
await geode_store.stop_request()
38-
await feedback_store.add_error(
39-
error.code,
40-
schema.$id,
41-
error.message,
42-
error.stack,
43-
)
44-
if (request_error_function) {
45-
await request_error_function(error)
50+
if (response_function) {
51+
await response_function(response)
4652
}
47-
reject(error)
48-
},
49-
async onResponse({ response }) {
50-
if (response.ok) {
51-
await geode_store.stop_request()
52-
if (response_function) {
53-
await response_function(response)
54-
}
55-
resolve(response)
56-
}
57-
},
58-
async onResponseError({ response }) {
59-
await geode_store.stop_request()
60-
await feedback_store.add_error(
61-
response.status,
62-
schema.$id,
63-
response._data.name,
64-
response._data.description,
65-
)
66-
if (response_error_function) {
67-
await response_error_function(response)
68-
}
69-
reject(response)
70-
},
71-
})
53+
}
54+
},
55+
async onResponseError({ response }) {
56+
await geode_store.stop_request()
57+
await feedback_store.add_error(
58+
response.status,
59+
schema.$id,
60+
response._data.name,
61+
response._data.description,
62+
)
63+
if (response_error_function) {
64+
await response_error_function(response)
65+
}
66+
},
7267
})
7368
}
7469

composables/upload_file.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import { useAppConfig } from "nuxt/app"
2+
13
export async function upload_file(
24
{ route, file },
35
{ request_error_function, response_function, response_error_function } = {},
@@ -18,8 +20,7 @@ export async function upload_file(
1820
}
1921

2022
geode_store.start_request()
21-
console.log("upload_file start request")
22-
return useFetch(route, {
23+
return $fetch(route, {
2324
baseURL: geode_store.base_url,
2425
...request_options,
2526
onRequest({ request }) {

0 commit comments

Comments
 (0)