/ / मैं एक प्रकार def फ़ाइल में एक async फ़ंक्शन कैसे जोड़ सकता हूं? - टाइपस्क्रिप्ट

मैं एक प्रकार def फ़ाइल में एक async फ़ंक्शन कैसे जोड़ सकता हूं? - टाइपस्क्रिप्ट

मैं एसिंक-बसबॉय के लिए एसिंक फ़ंक्शन परिभाषा जोड़ने की कोशिश कर रहा हूं;

मैंने एक फ़ाइल "async-busboy.d.ts" बनाई है

declare module "async-busboy" {
export default async function asyncBusby
(subString: any): Promise<any>;
}

लेकिन यह मुझे त्रुटि देता है: "त्रुटि टीएस 1040:" async "संशोधक को परिवेश संदर्भ में उपयोग नहीं किया जा सकता है।"

मैं async फ़ंक्शन defs कैसे लिखूं?
धन्यवाद

संपादित करें आपके उत्तर के लिए @Titian Cernicova-Dragomir और @Aaron धन्यवाद। लेकिन जब मैं इसे बुलाता हूं तो मुझे एक त्रुटि मिलती है

const dddd = await asyncBusboy(22);
[ts] "await" expression is only allowed within an async function.

कोई सुझाव?

उत्तर:

उत्तर № 1 के लिए 1

आपको बस इतना ही चाहिए:

declare module "async-busboy" {
export default function asyncBusby
(subString: any): Promise<any>;
}

तथ्य यह है कि यह एक देता है Promise यह एसिंक बनाता है। उपभोक्ताओं की उम्मीद है await the any अब मान । को async संशोधक के लिए समारोह शरीर कार्यांवयन बढ़ाने के लिए प्रयोग किया जाता है (क्या यह रिटर्न एक वादा में लिपटे हो जाता है), जो तुम डॉन "टी एक प्रकार-डीईएफ़, जो है क्यों async isn "प्रकार-डीईएफ़ में अनुमति दी टी ।


जवाब के लिए 0 № 2

वहां के लिए कोई ज़रूरत नहीं है async एक घोषणा में संशोधक । को async संशोधक कंपाइलर का उपयोग सक्षम करने के लिए कोड का उत्सर्जन करने के लिए निर्देश await. उपभोक्ता की दृष्टि से महत्वपूर्ण हिस्सा है कि यह एक रिटर्न Promise नहीं कैसे async समारोह के शरीर में लागू किया जाता है ।आप विचार कर सकते हैं async फ़ंक्शन का कार्यांवयन विवरण ।

आपकी समस्या एक कॉल साइट समस्या है, तो आपको उस फ़ंक्शन को चिह्नित करने की आवश्यकता है जिसमें आप कॉल करते है asyncBusby होने के रूप में async:

async function foo (){
const dddd = await asyncBusby(22);
console.log(dddd);
}