gpt4 book ai didi

node.js - 在调用另一个函数的函数中处理 UnhandledPromiseRejectionWarning

转载 作者:行者123 更新时间:2023-12-03 08:39:18 27 4
gpt4 key购买 nike

我在调用其他发出 axios 请求的函数的函数中处理 UnhandledPromiseRejectionWarning 时遇到问题。

const getCode = async () => {
const code = await baseURL.get('/gcs/login/k?codigoCanal=4')
return code
}

const posLogin = async (code) => {
const poslogin = await baseURL.get(`/resource/autenticar/${code}`)
return poslogin
}

const login = async () => {
try {
const code = await getCode();
const finishedLogin = async posLogin(code)
} catch (error) {
handleLoginError(error)
}
}

const handleLoginError = (error) => {
if (error.response.status === 400) {
throw new Error(`Bad Request; ${error.response.statusText}`)
}
if (error.response.status === 401) {
throw new Error(`Wrong credentials; ${error.response.statusText}`)
}
throw new Error('Unknown Error')
}


login()
执行此代码返回 UnhandledPromiseRejectionWarning,但我意识到如果我在登录函数的 catch 中放置一个 try catch,此警告就会消失
} catch (error) {
try {
handleLoginError(error)
} catch (err) {
console.log('Ooppss', err)
}
当我这样做时,我的代码进入嵌套的 catch 并且“err”值是 handleLoginError(error) 的值
如果不在 catch 内执行 try catch,我该如何做同样的事情?

最佳答案

看来你需要调用login如下:

try {
await login();
}
catch(err) {
// handle here the error
}

关于node.js - 在调用另一个函数的函数中处理 UnhandledPromiseRejectionWarning,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63268069/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com