无法获得Promise中的返回值

时间:2017-05-31 07:24:20

标签: javascript typescript firebase-realtime-database promise

下面是我用来调用从Firebase引用获取后返回值的函数的代码。

let original = Promise.resolve(this.contactService.fetchContact(contact));
    original.then(function(value){
      console.log("original value: " + value);//point 2
    });

Firebase提取功能如下:

fetchContact(name){
    //fetch contact object from name
    let contactObj = this.database.ref('path').orderByChild('name').equalTo(name).once('value').then(response=>{
        console.log(response.val());//Point 1
        return response.val();
    });
  }

问题是,在注释Point 1中,我得到了所需的值作为输出。但是当我将相同的内容返回到Promise时,我希望它在评论点2中作为响应返回。我在评论中得到的是undefined Point 2

这与Ajax调用或Http请求的不同。这是在本地文件中。 我哪里错了?请帮忙。谢谢!

0 个答案:

没有答案