Nodejs, Typescript, typings: как использовать асинхронную библиотеку

Я пытаюсь использовать асинхронную библиотеку в Typescript; я установил файл определения, который был предоставлен typings, но я не могу использовать AsyncFunction:

///<reference path='typings/index.d.ts' />
'use strict';

import async = require( 'async' );

let functions : AsyncFunction<any>[] = [];

Если я компилирую этот экстракт, я получил эту ошибку:

tsc test.ts --target es2015 --module system --removeComments --forceConsistentCasingInFileNames --noEmitOnError --noFallthroughCasesInSwitch --noImplicitAny --noImplicitReturns --noImplicitUseStrict --declaration --outfile a.js
test.ts(4,17): error TS2304: Cannot find name 'AsyncFunction'.

Асинхронный файл определения, который я использую это: https://raw.githubusercontent.com/types/npm-async/ff63908a70ec51b775d9a6b8afac9945b12fbe08/2/index.d.ts

Что я делаю не так?

Спасибо!

1 ответ

  1. Интерфейс AsyncFunctionне экспортируется из этого файла. Единственный экспортasync, как вы можете видеть из export = async;последней строки.

    Устанавливать

    Не стесняйтесь копировать
    interface AsyncFunction<T> { (callback: (err?: Error, result?: T) => void): void; }
    в aglobal.d.ts, если вы должны использовать эту аннотацию.