TypeScriptのPromise型宣言をダウンロードしました DefinitelyTyped私は今、適切に宣言をしています。約束する。今、私はwindow.Promiseにアクセスして、ブラウザからPromiseのサポートを確認する必要があります。私はそれをすることはできません。なぜなら、プロミスはここに宣言されていないからです。したがって、私はそれを自分で宣言しようとしました:
interface Window {
Promise: typeof Promise;
}
今、問題があります。の「約束」 プロミスのタイプ Promiseの宣言ではなく、実際にWindow.Promiseを参照しています。 プロミスのタイプは現在<any>ですが、私は望みません。
どうすれば正しくウィンドウを宣言できますか?ここで肯定?
回答:
回答№1は0私はそれをすることはできません.Promiseプロパティはここでは宣言されていません。
あなたが確認することができます Promise
に window
を使用して:
if(window["Promise"] === undefined){
// no support
}
プロミスのタイプの "プロミス"は、プロミスの宣言ではなく、実際にはウィンドウを指します。
ローカルスコープからグローバルスコープ定義にアクセスする必要があります。そしてTypeScriptはローカルスコープに行きます。あなたはおそらくこのようなものを探しています(temp変数fooに注意してください):
declare module Promise{export var mem:number;}
var foo:typeof Promise;
interface Window {
Promise: typeof foo;
}
window.Promise.mem = 123; // okay