收藏
回答

如何在then()方法内修改then()方法外的变量?

例如:

var a=1;
db.collection('devicelist').where({
      deviceid:'0001'
    }).get().then(
      res=>{
      a=res.data;
    })
console.log(a);

在该数据库请求完毕后,我想把查询结果保存到变量a中,但之后a值仍为1,而不是获取到的查询结果,但在调试器的console里执行以上语句没有任何问题。而如果没有var a=1;,则会直接报错变量不存在。

回答关注问题邀请回答
收藏

1 个回答

  • 牵着蜗牛散散步
    牵着蜗牛散散步
    2021-10-21
    那是因为回调函数还没执行,改成db.collection('devicelist').where({
          deviceid:'0001'
        }).get().then(
          res=>{
          a=res.data;
        })
    .then(res=>{
    

    console.log(a)

    })试试

    2021-10-21
    有用
    回复
登录 后发表内容
问题标签