8
के रूप में कॉल नहीं कर सकता है क्या कोई ऐसा तरीका है जो मुझे एक समारोह के रूप में कक्षा को कॉल करने की अनुमति देगा। मुझे नीचे कार्यक्षमता मिल रही है, जहां कक्षा के भीतर main
विधि है और यही वह तरीका है जिसे मैं विधि निष्पादित करना चाहता हूं।किसी वर्ग को
class test {
constructor() {
return this.main
}
main() {
return Promise.resolve('thomas')
}
}
test().then(name => {
console.log(name)
})
ऐसा लगता है कि मेरा एकमात्र अन्य विकल्प इस तरह एक रैपर फ़ंक्शन होगा।
class Test {
constructor (name) {
this.name = name
}
main() {
return Promise.resolve(this.name)
}
}
let test = (name) => {
return new Test(name).main()
}
test('thomas').then(name => {
console.log(name)
})
जेएस कक्षाओं का उपयोग करते समय आपको 'new' कीवर्ड का उपयोग करना होगा। मैं मानता हूं कि आपके द्वारा प्रदान किया गया दूसरा विकल्प सही होगा। (या कक्षाओं का उपयोग न करें) – evolutionxbox
एक वर्ग एक वस्तु का निर्माण करता है। आपका कन्स्ट्रक्टर कक्षा का एक उदाहरण नहीं, एक और समारोह वापस करेगा। यह बहुत समझ में नहीं आता है। आप वास्तव में क्या करने की कोशिश कर रहे हैं? हो सकता है कि कक्षा में एक स्थिर विधि वह है जिसे आप ढूंढ रहे हैं? –
@ फ़ेलिक्सक्लिंग मैं एक जटिल फ़ंक्शन बनाना चाहता हूं जिसमें बहुत से आंतरिक कार्य हैं और छोटे कार्यों का एक टन बनाने के बजाय 'this.methodName' का उपयोग करके संदर्भों को संदर्भित करते हैं। मैं केवल उस 'मुख्य' फ़ंक्शन का उपयोग करना चाहता हूं। मैं समझता हूं कि यह कक्षा का सबसे अच्छा उपयोग नहीं है, लेकिन अगर मैं इसे ऊपर की तरह लपेटता हूं तो मैं अपना केक भी ले सकता हूं और इसे भी खा सकता हूं। – ThomasReggi