Nasıl typescript için işlevin bağlama yöntemini ilan etmek

oy
1

Ben daktilo versiyonu ile birlikte Mootools kullanmaya çalışıyorum. Mootools ve bazı modern tarayıcılar polimorfik olduğu .bind yöntemini destekler.

Nasıl düzgün gibi yapıları kullanabilmek için, a * .d.ts dosyasında bu özelliği ilan edebilir [1,2] .map (this.foo.bind (bu)); ?

Ben biliyorum önlemek lambdas kullanarak bu tür yapılar, ama bazen istemiyorum.

Belki mootools.d.ts kendim yeniden icat yerine indirmek hangi bir yerde dosyası varsa?

Oluştur 08/10/2012 saat 17:35
kaynak kullanıcı
Diğer dillerde...                            


2 cevaplar

oy
1

şöyle typescript en lib.d.ts zaten Fonksiyon arayüzünde bağlama işlevin imza tanımlar:

bind(thisArg: any, ...argArray: any[]): Function;

Ben jenerik dile eklenebilmeniz kadar bunu yapmanın daha iyi bir yolu vardır sanmıyorum.

Eğer bağlama kullanmak istiyorum ve elde edilen fonksiyonun alıcı belirli bir imza bekliyorsa zaman olsa Şimdilik, o imzaya geri işlevi döküm zorunda olacak:

var bfn : (p: number) => string;
bfn = <(p: number) => string> fn.bind(ctx);
Cevap 08/10/2012 saat 19:03
kaynak kullanıcı

oy
0

Izlenen tanım dosyalarının büyüyen bir listesi var burada .

Yöntemleri üreten gelince ben bunu yapmanın iki yolu önerdim daktilo onların bu pointer önceden bağlanmış. 1) basit bir temel sınıf I sonunda tanımlanan bu iplik . ve 2) daha gelişmiş mixin & nitelik sistemini burada .

Cevap 08/10/2012 saat 18:48
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more