TS2722: невозможно вызвать объект, который, возможно, не определен - PullRequest
0 голосов
/ 23 января 2020

У меня ошибка TS2722 на объектном соединителе в платформе Loopback. Я не понимаю, почему объект коннектора может быть неопределенным.

Это метод из моего репозитория neo4j:

async query(cypher: string, params?: any, cb?: any): Promise<any> {
// return await this.dataSource.connector.db.query(cypher, params, cb);

  if (this.dataSource && this.dataSource.connector) {
    return await this.dataSource.connector.execute(cypher, params, function (err: Error, results: any) {
      // return await this.dataSource.connector.db.cypher({ "query": cypher }, function (err: Error, results: any) {
      if (err) return cb(err);
        cb(null, results);
    });
  }
}

Я не понимаю, почему. Надеюсь, что вы можете помочь.

1 Ответ

0 голосов
/ 23 января 2020

, потому что ваш разъем не может подключиться. поэтому машинопись знает это и не позволяет вам ничего делать с этим объектом.

first - у вас есть @ types / neo4j (или эквивалент) в вашем пакете. json?

second - вы должны указать машинописи, чтобы проверить, действителен ли ваш соединитель с https://www.typescriptlang.org/docs/handbook/advanced-types.html#user охранники определенного типа

конечная - это, вероятно, то, что вам действительно нужно https://www.typescriptlang.org/docs/handbook/advanced-types.html#instanceof охранники-типа

...