मैं यह पता लगाने की अगर यह टाइपप्रति कार्यों के एक स्थिर टाइप किया सरणी घोषित करने के लिए में संभव है संघर्ष कर रहा हूँ।
उदाहरण के लिए, मैं यह कर सकता:
foo: (data:string) => void = function (data) {};
लेकिन अगर मैं कार्यों कि एक स्ट्रिंग लेने के लिए और वापस जाने के लिए कुछ भी नहीं की एक श्रृंखला होना चाहिए foo चाहते हैं, कैसे मुझे लगता है कि क्या करते हो?
foo: (data:string) => void [] = [];
क्योंकि टाइपप्रति सोचता है कि यह एक समारोह है कि एक स्ट्रिंग लेता है और शून्य की एक सरणी देता है, और यह मुझे कोष्ठक में समारोह रैप करने के लिए कोशिश कर रहा है की तरह प्रतीत नहीं होता काम नहीं करता।
कोई विचार?
उत्तर : मोहम्मद के लिए धन्यवाद नीचे, यहां एक उदाहरण है कि टाइपप्रति खेल का मैदान में काम करता है:
class whatever {
public foo: { (data: string): void; }[] = [];
dofoo() {
for (var i=0; i < this.foo.length; i++) {
this.foo[i](test);
}
}
}
var d = new whatever();
d.foo.push(function(bar){alert(bar)})
d.foo.push(function(bar){alert(bar.length.toString())})
d.dofoo();













