我有以下代码。
我从 .then 中的数据库获取数据。 我想在当时之外使用var data = data.get({ plain: true })
数据。我该怎么做。
const datas = roleService.getRoleById(1)
.then(data => {
var data = data.get({ plain: true })
console.log(data.get({ plain: true }))
// return data.get({ plain: true })
}
)
.catch((error) => res.status(400).send(error));
提前谢谢。
处理异步代码的最佳方法是使用 async/await。
getRole: async (req, res) => {
try {
let value = await User.findByPK(1);
value = value.toJSON();
if (!value) {
console.log('No values obtained');
}
console.log(val)
}
catch (e) {
console.log(e);
}
}
这有几个缺点——
- 在功能范围的顶部定义一个变量
let tempData;
const datas = roleService.getRoleById(1)
.then(data => {
var data = data.get({
plain: true
})
console.log(data.get({
plain: true
}))
tempData = data; //initializing variable
// return data.get({ plain: true })
})
.catch((error) => res.status(400).send(error));
console.log('tempData is', tempData);
- 您可以使用 async-await,这是 Terry Lennox 建议的最佳方法
async function fetchData () {
return roleService.getRoleById(1);
}
const data = await fetchData();
const tempData = data.get({ plain: true })