繁体   English   中英

从PouchDB查询返回数据

[英]Returning data from a PouchDB query

我从PouchDB查询返回数据时遇到问题。 我正在尝试构建一个函数,该函数在调用时从PouchDB返回特定数据。 这是我的代码:

function getUserFullName() {
            var db = "userInfo";
            var pouch = new PouchDB(db);
            pouch.get("token").then(function (result) {
            console.log(result-user_real_name);
                return result.user_real_name;
            }).catch(function (error) {
                console.log(error);
            });
        }

所以发生的是该函数返回一个未定义的。 有人知道我在做什么错吗?

问题是,看起来您正在同步运行“ getUserFullName”,但是其中具有异步功能“ pouch.get”。 该异步函数的返回值需要在回调或Promise中返回。

如果“ pouch.get”返回一个promise,如上面显示的“ .then”所示,则可以这样编写代码:

function getUserFullName() {
  var db = "userInfo";
  var pouch = new PouchDB(db);

  return pouch.get("token")
}

并像这样运行它:

getUserFullName()
  .then(function(fullUserName){
    console.log(fullUserName);
  })
  .catch(function(err){
    console.log(err);
  });

让我知道这是否可行,或者您有任何疑问。 谢谢!

编辑:看起来“ pouch.get”确实返回了一个承诺。 此处查看其文档中的示例。 因此,此代码将起作用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM