mirror of
https://github.com/ragestudio/linebridge.git
synced 2025-06-09 18:44:17 +00:00
refactor generateDispatcher
This commit is contained in:
parent
9fd9ce4ea7
commit
81b52fd65f
@ -76,7 +76,7 @@ class Bridge {
|
|||||||
|
|
||||||
function generateDispatcher(bridge, method, route, getContext) {
|
function generateDispatcher(bridge, method, route, getContext) {
|
||||||
return function (body, query, options) {
|
return function (body, query, options) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise(async (resolve, reject) => {
|
||||||
let requestParams = {
|
let requestParams = {
|
||||||
parseData: true,
|
parseData: true,
|
||||||
...options,
|
...options,
|
||||||
@ -90,27 +90,29 @@ function generateDispatcher(bridge, method, route, getContext) {
|
|||||||
requestParams = { ...requestParams, ...getContext() }
|
requestParams = { ...requestParams, ...getContext() }
|
||||||
}
|
}
|
||||||
|
|
||||||
let result = []
|
let result = {
|
||||||
|
response: null,
|
||||||
|
error: null,
|
||||||
|
}
|
||||||
|
|
||||||
bridge.instance(requestParams)
|
await bridge.instance(requestParams)
|
||||||
.then((response) => {
|
.then((response) => {
|
||||||
if (response.status > 400) {
|
result.response = response
|
||||||
throw new Error(response.data.error ?? response.data)
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
.catch((response) => {
|
.catch((error) => {
|
||||||
result[0] = response
|
console.error(error.response)
|
||||||
|
result.error = error.response.data.error ?? error.response.data
|
||||||
})
|
})
|
||||||
.then((response) => {
|
|
||||||
if (requestParams.parseData) {
|
if (requestParams.parseData) {
|
||||||
result[1] = response.data
|
if (result.error) {
|
||||||
} else {
|
return reject(result.error)
|
||||||
result[1] = response
|
|
||||||
}
|
}
|
||||||
})
|
|
||||||
.finally(() => {
|
return resolve(result.response.data)
|
||||||
return resolve(...result)
|
}
|
||||||
})
|
|
||||||
|
return resolve(result)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user