2016-10-04 13 views
0

私はTypescriptで非同期ライブラリを使用しようとしています。私はタイピングにより提供された定義ファイルをインストールしているが、私はAsyncFunction使用することはできません:私はこのエラーを得た。この抽出液をコンパイルする場合Nodejs、Typescript、typings:非同期ライブラリの使い方

///<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

私は間違っていますか?

ありがとうございました!

+0

誰かが同じ問題を抱えている場合、私の解決策はグローバル定義dt〜async – Steve81

答えて

0

インターフェイスAsyncFunctionは、そのファイルからエクスポートされません。最終行のexport = async;からわかるように、唯一のエクスポートはasyncです。

修正

あなたがその注釈を使用する必要がある場合global.d.ts interface AsyncFunction<T> { (callback: (err?: Error, result?: T) => void): void; }をコピーすること自由に感じなさい。

+0

をインストールすることでした。私はなぜ混乱していたのか理解しています。非同期v1定義では「モジュール」を使用しないため、 availables。 – Steve81

+0

@ Steve81このエラーが起こった理由をもう少し詳細に説明できますか – blackHawk