2015-02-05 6 views
5

enter image description here त्रुटि Supplied parameter do not match any signature of call target कहती है। जब मैं Function को any के साथ दूसरे पैरामीटर के प्रकार के रूप में प्रतिस्थापित करता हूं, तो त्रुटि गायब हो जाती है। लेकिन any किसी भी प्रकार के समान नहीं है, क्या पैरामीटर के रूप में कार्यों के लिए उपयुक्त प्रकार नहीं है?क्या टाइपस्क्रिप्ट में कॉलबैक फ़ंक्शन के लिए कोई प्रकार है?

उत्तर

7

के बजाय Function (या any) आप अपने callback पैरामीटर के लिए निम्नलिखित प्रकार का उपयोग कर सकते हैं:

(ev: Event)=> any 

इस प्रकार addEventListener द्वारा उम्मीद से मेल खाता है।

on(eventName: string, callback: (ev: Event)=> any, useCapture: boolean) : Dom.Element { 
    //... 
+0

ठीक है:

यहाँ पूर्ण समारोह हस्ताक्षर है। तो इसका मतलब है कि टाइप प्रकार के इवेंट पैरामीटर के साथ काम करता है जो किसी भी देता है? – jstice4all

+0

हां - हालांकि रिटर्न प्रकार के बारे में सोचें क्योंकि यह बहुत अनुमोदित है। आप एक फ़ंक्शन पास कर सकते हैं जो शून्य, या एक स्ट्रिंग, या एक नंबर देता है - जो कुछ भी आपको पसंद है; * किसी भी वापसी प्रकार * की अनुमति दें। – Fenton

संबंधित मुद्दे