प्राप्त चर नाम के तर्क के समारोह टाइपप्रति

0

सवाल

मैं होगा की तरह स्थापित करने के लिए एक त्वरित आसान तरीका का परीक्षण करने के लिए कार्यों में कोणीय जहां मैं बस इनपुट नाम के कार्यों में एक बार निर्माता और उन्हें परीक्षण. उदाहरण के लिए:

constructor() {
    this.test(this.FucntionName)  <= logs function name and output
  }

के साथ समस्या यह है कि अगर मैं कोशिश पारित करने के लिए एक समारोह के रूप में एक तर्क के बिना यह फोन, मैं इस । दायरे में त्रुटि । कैसे कर सकते हैं मैं दोनों समारोह का नाम और अपनी वापसी के मूल्य जब मैं इसे पारित रूप में परीक्षण() समारोह, बिना टाइप करने के लिए दो तर्क?

वहाँ एक बेहतर विकल्प है, शायद कुछ इकाई परीक्षण चौखटे प्रदान करते हैं यह?

मेरे वर्तमान दृष्टिकोण काम करता है, लेकिन यह भद्दा और मैं होगा की तरह की जरूरत को दूर करने के लिए दूसरा तर्क:

export class AuthService {
  constructor(
    ...
  ) {
    this.test(this.FunctionName(), 'FunctionName')// I would like to remove the need to repeat the name as string
  }

  test(sub: any, name) {
    sub.subscribe(
      data => {
        console.group("==========", name, "()    TEST  ===============")
        console.log("Output Type:", typeof data)
        typeof data == 'object' ? console.table(data) : console.log(data);
        console.groupEnd()
      }
    )
  }
angular typescript
2021-11-24 01:30:50
2

सबसे अच्छा जवाब

1

सबसे विश्वसनीय तरीका के लिए किया जाएगा पारित करने के लिए स्ट्रिंग का उपयोग करें तो, ब्रैकेट अंकन करने के लिए इसे देखो पर this. उपयोग क्षेत्र में एक वर्ग तीर समारोह तो this संदर्भ सही है ।

test = (methodName) {
    this[methodName]().subscribe(
        data => {
            console.group("==========", methodName, "()    TEST  ===============")
            // ...
2021-11-24 01:35:55
0

आप कर सकते हैं की तरह कुछ लिखने के नीचे (विस्तार के जवाब @CertainPerformance)

export class AuthService {
  constructor(
    ...
  ) {
    this.test('FunctionName')
  }

  test(name) {
    this[name]().subscribe(
      data => {
        console.group("==========", name, "()    TEST  ===============")
        console.log("Output Type:", typeof data)
        typeof data == 'object' ? console.table(data) : console.log(data);
        console.groupEnd()
      }
    )
  }
2021-11-25 08:11:59

अन्य भाषाओं में

यह पृष्ठ अन्य भाषाओं में है

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

इस श्रेणी में लोकप्रिय

लोकप्रिय सवाल इस श्रेणी में