को लक्षित करते समय उपलब्ध हैं, मैं async कीवर्ड का उपयोग करने में सक्षम होना चाहता हूं, लेकिन मैं चाहता हूं कि मेरी टाइपस्क्रिप्ट ईएस 5 कोड में संकलित करे ताकि मेरा कोड औसत व्यक्ति ब्राउज़र में चलाया जा सके। जब मैं विजुअल स्टूडियो कोड में async
का उपयोग करने का प्रयास करता हूं तो मुझे यह त्रुटि मिलती है।Async फ़ंक्शंस केवल ECMAScript 2015 या उच्चतर
Async फ़ंक्शंस केवल ECMAScript 2015 या को लक्षित करते समय उपलब्ध होते हैं।
मैंने सोचा था कि लक्षित कर es6
मतलब यह है कि टाइपप्रति संकलन से उत्पादन जावास्क्रिप्ट es6
हो जाएगा, और es6
सबसे ब्राउज़रों पर अभी तक काम नहीं करता है?
यहाँ मेरी tsconfig.json
है:
{
"compilerOptions": {
"target": "es5",
"module": "system",
"moduleResolution": "node",
"lib": ["es2015", "dom"],
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"removeComments": false,
"noImplicitAny": true,
"outDir":"js/app/",
"typeRoots": [
"./node_modules/@types"
]
},
"exclude": [
"node_modules",
"app/test"
]
}
मैं अगर lib
क्षेत्र यह काम है क्योंकि यह "es2015"
कहते हैं हो सकता है, लेकिन यह नहीं है सोच रहा था।
मैं भी सोच रहा हूँ शायद core-js
शिम async
उपलब्ध बनाता है, लेकिन मैं केवल इस तरह मेरी index.html
में है कि शिम में शामिल हैं:
<script src="node_modules/core-js/client/shim.min.js"></script>
तो मुझे नहीं लगता कि यह संकलन समय पर async
उपलब्ध बना रहा है है । कोर-जेएस आयात करने का कोई बेहतर तरीका है?
मैं async
उपयोग करने योग्य कैसे बना सकता हूं लेकिन मेरे कोड को अधिकांश ब्राउज़रों पर चलाने में असमर्थ भी नहीं है?
इस में काम करना चाहिए [टाइपप्रति 2.1] (https://github.com/Microsoft/TypeScript/wiki/What's-new-in-TypeScript#user-content-downlevel-async-functions), वास्तविक जल्द ही आ रहा अब ... – artem
'कोर-जेएस' पॉलीफिल है। 'es6' लक्ष्य के साथ' async' जेनरेटर पर निर्भर करता है। वे polyfilled नहीं किया जा सकता है। आम तौर पर बेस को ईएस 5 में ट्रांसफर करने के लिए टीएस के संयोजन के साथ प्रयोग किया जाना चाहिए। जैसा कि कहा गया है, 'es5' लक्ष्य के लिए' async' 2.1 dev संस्करण में उपलब्ध है। – estus