如何使用 promise 返回 then 在 node js 和 sequelize 之外的数据



我有以下代码。

我从 .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 })

相关内容

  • 没有找到相关文章

最新更新