修复错误处理问题

pull/1686/head
lyswhut 2023-11-08 15:27:36 +08:00
parent e2f6ec308c
commit 887cf39321
1 changed files with 28 additions and 20 deletions

View File

@ -137,6 +137,13 @@ const handleShowUpdateAlert = (data, resolve, reject) => {
resolve() resolve()
} }
const onError = (errorMessage) => {
if (isInitedApi) return
isInitedApi = true
if (errorMessage.length > 1024) errorMessage = errorMessage.substring(0, 1024) + '...'
sendMessage(USER_API_RENDERER_EVENT_NAME.init, null, false, errorMessage)
}
const initEnv = (userApi) => { const initEnv = (userApi) => {
contextBridge.exposeInMainWorld('lx', { contextBridge.exposeInMainWorld('lx', {
EVENT_NAMES, EVENT_NAMES,
@ -158,15 +165,16 @@ const initEnv = (userApi) => {
let request = needle.request(method, url, data, options, (err, resp, body) => { let request = needle.request(method, url, data, options, (err, resp, body) => {
// console.log(err, resp, body) // console.log(err, resp, body)
try {
if (err) { if (err) {
callback(err, null, null) callback.call(this, err, null, null)
} else { } else {
body = resp.body = resp.raw.toString() body = resp.body = resp.raw.toString()
try { try {
resp.body = JSON.parse(resp.body) resp.body = JSON.parse(resp.body)
} catch (_) {} } catch (_) {}
body = resp.body body = resp.body
callback(err, { callback.call(this, err, {
statusCode: resp.statusCode, statusCode: resp.statusCode,
statusMessage: resp.statusMessage, statusMessage: resp.statusMessage,
headers: resp.headers, headers: resp.headers,
@ -175,6 +183,9 @@ const initEnv = (userApi) => {
body, body,
}, body) }, body)
} }
} catch (err) {
onError(err.message)
}
}).request }).request
return () => { return () => {
@ -290,10 +301,7 @@ const initEnv = (userApi) => {
contextBridge.exposeInMainWorld('__lx_init_error_handler__', { contextBridge.exposeInMainWorld('__lx_init_error_handler__', {
sendError(errorMessage) { sendError(errorMessage) {
if (isInitedApi) return onError(errorMessage)
isInitedApi = true
if (errorMessage.length > 1024) errorMessage = errorMessage.substring(0, 1024) + '...'
sendMessage(USER_API_RENDERER_EVENT_NAME.init, null, false, errorMessage)
}, },
}) })