即使有结果,承诺也会返回未定义的值

时间:2019-07-01 19:51:17

标签: vue.js promise

我在Vuejs中有一个名为getUsers的方法,该方法接受数组并从数据库返回用户结果。

当我以以下方式调用它时,它会工作并返回结果

this.getUsers(executives).then(
          result => {
            this.specifcExecs= result;
          });

但是由于我需要使用diff输入将getUsers调用15次,因此我想到了一个通用方法,该方法将直接设置特定数组的值,如下所示。

this.specifcExecs = this.populateList(executives);

populateList(list){
      this.getUsers(list).then(
              result=> {
                  console.log("inside result in", result);
                  return result;
              }); 
    },

当我尝试打印this.specifcExecs时,我不确定。有人可以告诉我我在做什么错吗?我试图了解如何以有效的方式解决承诺,以防止代码重复。

1 个答案:

答案 0 :(得分:1)

您无法从promise返回值,但是您可以像这样:

  this.populateList(executives);

populateList(list){
      this.getUsers(list).then(
              result=> {
                  console.log("inside result in", result);
                  this.specifcExecs= result;
              }); 
    },