我有一个 utils 层,里面有一些函数,比如 getUserInfo(userToken)。我调用这个 getUserInfo 函数来获取 userId。我让 Node js 异步工作,但是有什么方法可以实现以下功能。我正在使用 npm 请求库进行休息调用。
我正在尝试实现以下内容,但对使用回调和嵌套内容不感兴趣。
//Controller Layer Part
router.get('/api', check, async function (req, res) {
const userId = await users.getUserInfo(req.headers.authorization);
const result = await assignmentsService.getAssignments(userId);
res.send(result);
});
//Utils Layer Part
async function getUserInfo(accessToken, callback){
const userId = await request.get({
url: 'someUrl',
headers: {
'Authorization': accessToken
}
},
await function (error, response, body){
const userId = JSON.parse(body).nickname;
});
return userId;
}
按你的要求。我会为你推荐axios。
下面的例子:
const axios = require("axios");
//Controller Layer Part
router.get("/api", check, async function (req, res) {
const userId = await users.getUserInfo(req.headers.authorization);
const result = await assignmentsService.getAssignments(userId);
res.send(result);
});
//Utils Layer Part
async function getUserInfo(accessToken) {
const response = await axios.get("someUrl", {
headers: {
Authorization: accessToken,
},
});
console.log(response);
const userId = JSON.parse(response.data).nickname; //it may not be response.data but you can change.
return userId;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句