Angular 我一直在找类型';无效';不可分配给类型';FirebaseListObservable<;任何>';

Angular 我一直在找类型';无效';不可分配给类型';FirebaseListObservable<;任何>';,angular,typescript,Angular,Typescript,我正试图获取一个列表,但当我调用 this.users = this.userProvider.getAllUsers(); [ts]类型“void”不可分配给类型 “FirebaseListObservable” 我什么都试过了,但就是做不到。在我添加${nCompany}节点之前,它曾经工作过。我真的希望你能帮我一把 谢谢 users.ts import { Component } from '@angular/core'; import { NavController } from 'i

我正试图获取一个列表,但当我调用

this.users = this.userProvider.getAllUsers();
[ts]类型“void”不可分配给类型 “FirebaseListObservable”

我什么都试过了,但就是做不到。在我添加${nCompany}节点之前,它曾经工作过。我真的希望你能帮我一把

谢谢

users.ts

import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
import { AngularFireDatabase, FirebaseListObservable } from 'angularfire2/database'
import { UserProvider } from '../../providers/user/user-provider';
import { ChatViewPage } from '../chat-view/chat-view';
import { Observable } from 'rxjs/Rx';

@Component({
    templateUrl: 'users.html'
})
export class UsersPage {
    users:FirebaseListObservable<any>;
    uid:string;
    sPictureURL:string;

    constructor(public nav: NavController, public userProvider: UserProvider) {}

    ngOnInit() {
        this.userProvider.getUid()
        .then(uid => {
            this.uid = uid;
            this.users = this.userProvider.getAllUsers();
        });
    };

我不明白,如果我用

  // Get All Users of a company
  getAllUsers()  {
      return this.db.list('/companies/01/users');

工作很好。。。可能我只是太累了…

如果我用了它,我就不明白了

  // Get All Users of a company
  getAllUsers()  {
      return this.db.list('/companies/01/users');

工作很好。。。可能是我太累了…

getAllUsers
确实返回了
void
,或者换句话说,不返回值。方法主体中没有
return
。看起来内部正在进行异步操作,并且无法从异步操作返回值。您可以将
Promise
返回给值,但不能返回@NitzanTomer所说的值,您的方法返回null。如果它在
${nCompany}
之前工作,那么
${nCompany}
返回的值不正确!请参阅chrome控制台中的
网络下的
,该端点称为DHI。nCompany可以工作,我通过console.log看到它。我也不明白你说的“你可以对一个值返回一个承诺,但不能返回值本身”,而且我不会返回,它就在这里返回这个.db.list(
/companys/${nCompany}/users
getAllUsers
确实返回
void
,或者换句话说不返回值。方法主体中没有
return
。看起来内部正在进行异步操作,并且无法从异步操作返回值。您可以将
Promise
返回给值,但不能返回@NitzanTomer所说的值,您的方法返回null。如果它在
${nCompany}
之前工作,那么
${nCompany}
返回的值不正确!请参阅chrome控制台中的
网络下的
,该端点称为DHI。nCompany可以工作,我通过console.log看到它。我也不明白你说的“你可以对一个值返回一个承诺,但不能返回值本身”,而且我不会返回,它就在这里返回这个.db.list(
/companys/${nCompany}/users
);