Angular方法可能返回一个Promise而不是值

时间:2018-08-09 02:28:29

标签: javascript angular es6-promise

我对我的JavaScript承诺问题有疑问。尽管这是一个angular6应用程序,但我认为任何具有JavaScript专业知识的人都可以在这里帮助我。

我在与我的angular组件分开的js文件中调用了一个简单的js函数。简单的js函数从本地数据库获取连接字符串列表,然后尝试返回该列表。如您在代码中所见,我设置了一个警报,因此我知道自己正在获取所需的信息。

问题在于,当它返回到顶部调用方法(第4行)时,它为空!好像它返回的是Promise而不是实际的数组。.如何获取实际值?

先谢谢了。

 //MY ANGULAR6 COMPONENT
   public getLocal() {
    this.Connections = [];
    this.Connections = fetchFromLocalDatabase();
   }

//MY IMPORTED JS FILE
fetchFromLocalDatabase() {
    let myArray = [];
    idb.open('InfoRail', 1).then(function (db) {
      var tx = db.transaction(['ConnectionStrings'], 'readonly');
      var store = tx.objectStore('ConnectionStrings');
      return store.getAll();
    }).then(function (items) {
       myArray = items;
       alert('show me ' + myArray[0].DatabaseName);      
    });
    return myArray;
  }
  
 

0 个答案:

没有答案