угловой сервисный блок DoneFn - PullRequest
0 голосов
/ 08 декабря 2018

Я слежу за угловым официальным документом и вижу этот код:

it("#getObservableValue should return value from observable", (done: DoneFn) => {
    service.getObservableValue().subscribe(value => {
      expect(value).toBe("observable value");
      done();
    });
  });

Мне интересно, откуда появился DoneFn, потому что у меня нет ошибок при импорте для ввода.

1 Ответ

0 голосов
/ 08 декабря 2018

Если вы будете следовать определению интерфейса, вы увидите, что он находится под:

node_modules/@types/jasmine/index.d.ts

/** Action method that should be called when the async work is complete */
interface DoneFn extends Function {
    (): void;

    /** fails the spec and indicates that it has completed. If the message is an Error, Error.message is used */
    fail: (message?: Error | string) => void;
}

Вам не нужно импортировать или использовать его, он в основном для справки,Я не уверен, как именно @types точно работает, но я полагаю, если в проекте есть @types, узел знает, как найти определение, так как все они проиндексированы в этой одной папке.

ОБНОВЛЕНИЕ:

Я обнаружил, что это настраивается tsconfig.json

"typeRoots": [
  "node_modules/@types"
],
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...