【发布时间】:2022-07-06 18:06:02
【问题描述】:
我有一个 router.get 调用另一个函数,像这样:
router.get("/", (req, res) => {
const data = especiaisTest.getEspeciais();
console.log(data);
});
正在调用的函数是这个:
function getEspeciais() {
db.query(async (tokenResponse) => {
try {
const response = await axios.get(URL, {
headers: {
Authorization: `Bearer ${tokenResponse.accessToken}`,
},
});
return response.data;
} catch (error) {
console.error(error);
}
});
}
每当我调用它时,我都会得到 console.logged 一个未定义的结果。
我尝试在 db.query 函数之外返回一个值,例如:
function getEspeciais() {
db.query(async (tokenResponse) => {
try {
const response = await axios.get(URL, {
headers: {
Authorization: `Bearer ${tokenResponse.accessToken}`,
},
});
return response.data;
} catch (error) {
console.error(error);
}
});
return 'hello'
}
它会在控制台中显示“你好”。如何从 db.query 中获取 response.data 以便能够显示数据?
【问题讨论】:
-
我认为你应该在
getEspeciais函数中使用return db.query ... -
@A.Anvarbekov 我试过了,但仍然不确定