ts ES5 / ES3 এ একটি অ্যাসিঙ্ক ফাংশন বা পদ্ধতিটির জন্য 'প্রতিশ্রুতি' নির্মাণকারী প্রয়োজন


108

হ্যালো আমি আমার টাইপসক্রিপ্ট প্রকল্পে অ্যাসিঙ্কটি ব্যবহার করছি / অপেক্ষা করবো, তবে আমি এই লগটি পেয়েছি:

[ts] ES5 / ES3 এ একটি অ্যাসিঙ্ক ফাংশন বা পদ্ধতিটির জন্য 'প্রতিশ্রুতি' নির্মাণকারী প্রয়োজন। নিশ্চিত করুন যে আপনার কাছে 'প্রতিশ্রুতি' নির্মাণকারীর জন্য একটি ঘোষণা আছে বা আপনার --libবিকল্পে 'ES2015' অন্তর্ভুক্ত রয়েছে ।

আমি কীভাবে এটি সমাধান করতে পারি?

উত্তর:


159

ত্রুটির বার্তাটি যেমন বলেছে, lib: es2015আপনার tsconfig.json এ যুক্ত করুন

// tsconfig.json
{
  "compilerOptions": {
    "lib": [ "es2015" ]
  }
}

আপডেট: এটি যদি আপনার পক্ষে কাজ করে না তবে চেষ্টা করুন:

জেটব্রেইনস আইডিই যেমন ওয়েবস্টোরম, ডিফল্টরূপে এর নিজস্ব বাস্তবায়ন ব্যবহার করে। পরিবর্তে টাইপস্ক্রিপ্ট ভাষা পরিষেবাটি ব্যবহার করার জন্য আপনি এটি কনফিগার করেছেন তা নিশ্চিত করুন।

ভিজ্যুয়াল স্টুডিওর জন্য, প্রকল্প ফাইলগুলি এবং tsconfig.jsonপারস্পরিক একচেটিয়া। আপনার সরাসরি আপনার প্রকল্পটি কনফিগার করতে হবে।

https://github.com/Mic Microsoft/TypeScript/issues/3983#issuecomment-123861491


{ "compilerOptions": { "module": "commonjs", "target": "es5", "noImplicitAny": false, "sourceMap": false } }এটি আমার tsconfig.json আমি কীভাবে সম্পাদনা করব?
সেদ্রিক হেইদারিজারে

ভিজ্যুয়াল স্টুডিও 2017 এ এটি নির্দিষ্ট করতে কোথায়? এটিতে tsconfig.json নেই
আকাশ কাভা

4
@ ক্যাটোপজ আমি করেছি, তবে ভিএস এটির কোনও যত্ন করে না, আমি দেখতে পেয়েছি যে এই csprojজাতীয় জিনিসগুলিকে সক্ষম / অক্ষম করার জন্য ফাইলটিতে কিছু অতিরিক্ত এক্সএমএল উপাদান রয়েছে।
আকাশ কাবা

4
ফলাফলটি দেখতে আমাকে আমার আইডিই (ওয়েবস্টোরম) পুনরায় চালু করতে হয়েছিল।
কলি

4
আমাকে পাশাপাশি অ্যারেতেও অন্তর্ভুক্ত করতে "dom"হয়েছিল "lib"অথবা আমি অন্যান্য ত্রুটি পেয়েছি।
electrovir

22

এই প্যাকেজটি ব্যবহার করে দেখুন যার মধ্যে এস 6-প্রতিশ্রুতির জন্য ধরণের সংজ্ঞা রয়েছে

npm install --save @types/es6-promise


4
'ইউনিয়নাল' ভুল নয়, তবে আপনার উত্তরটি ছিল আমার যে সমস্যাটি ছিল তা বাছাই করা। ধন্যবাদ!
tuliomarchetto

13

আপনি যদি ভিএস এ থাকেন তবে tsconfig.json মুছে ফেলুন এবং সলিউশন এক্সপ্লোরারে প্রোজেক্টটি ডান ক্লিক করুন, তারপরে বৈশিষ্ট্য-> টাইপস্ক্রিপ্ট বিল্ড ইন জেনারেলগুলিতে পরিবর্তন করুন

  • ECMAScript সংস্করণ: ECMAScript 6

  • মডিউল সিস্টেম: ES2015


সলিউশন-এক্সপ্লোরার-এ লুকপিগেটি প্রকল্প
আইভান্দ্রো জাও


1

আমার জন্য src/testsফোল্ডারের ভিতরে আমার পরীক্ষার ফাইলগুলিতে ত্রুটি ঘটেছে । যেহেতু আমি সরাসরি ফাইলগুলি ts-nodeপরীক্ষার জন্য ব্যবহার করি .ts, তাই src/tests/*আমার নিজের থেকে বাদ পড়ে tsconfig.json। আমি লাইনটি মুছে ফেলার সাথে সাথে ত্রুটিটি চলে গেছে (যা শেষ পর্যন্ত বোঝায়)।

ঠিক তার ক্ষেত্রে অন্য কেউ তার পরীক্ষার ফাইলগুলিতে এর সাথে লড়াই করছে।

সম্পাদনা: --libগ্রহণযোগ্য উত্তরে বর্ণিত রূপ হিসাবে অবশ্যই আপনার বিকল্পটি সঠিকভাবে কনফিগার করতে হবে । আমার tsconfig.json --libবিকল্পটি নিম্নলিখিত হিসাবে কাজ করে:

"lib": [
    "es2018",
    "dom"
]

0

VS2019 tsconfig.json ফাইলটি স্বীকৃত বলে মনে হচ্ছে না, সুতরাং এলআইবি বিকল্পগুলি অ্যাপ্লিকেশন পরিবর্তন করবে না। ASYNC AWAIT গ্রহণ করার জন্য টাইপস্ক্রিপ্টের জন্য এই প্রমিস যুক্ত করার একটি উপায়।

export function AD(first: any, second: any, callBack: any)
{
    const rtn = async (dispatch: any): Promise<void> =>
    {
        await axios.post(TYPE.URI, { // provide a string of a URI to post into
            parm1: first,
            parm2: second
        })
            .then(data => // or you can use response instead of data as a name
            {
                console.log("data from call next");
                console.log(data);
                dispatch({ type: TYPES.AD, payload: data.data });
                if (callBack)
                {
                    callBack(data);
                }
            })
    }
    return rtn;

}

0

আমি অবশেষে এটি সমাধান করতে পেরেছি!
টার্মিনালে আমার কমান্ড: yarn tsc main.ts && nodejs main.js আমার ত্রুটি বার্তা:

main.ts:1:16 - error TS2705: An async function or method in ES5/ES3 requires the 'Promise' constructor.  Make sure you have a declaration for the 'Promise' constructor or include 'ES2015' in your `--lib` option.

1 async function main() {
                 ~~~~


Found 2 errors.

error Command failed with exit code 2.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

এটি সমাধানের জন্য আমি যা করেছি, তা tsconfig.json ফাইলটি উল্লেখ করছিল।
আমার tsconfig.json ফাইলটি এরকম ছিল:

{
    "compilerOptions": {
        "target": "ESNext",
        "lib": [
            "ES2015",
            "DOM"
        ]
    }
}

এবং আমার টার্মিনাল কমান্ডটি এরকম: yarn tsc -p ./tsconfig.json && nodejs main.js আমি যদি অন্য .ts ফাইলটি চালাতে চাই তবে আমি কেবল এটি করি: yarn tsc -p ./tsconfig.json && nodejs file_name.js


-4

আমি একটি কৌণিক 4 প্রকল্পে VS2017 v15.8.2 এবং টাইপসক্রিপ্ট 2.4.2 ব্যবহার করছি (আমার সমাধানে একটি ক্লাস লাইব্রেরী প্রকল্পের অধীনে, কোনও টাইপ স্ক্রিপ্ট প্রকল্প নয়)। আমি জাভাস্ক্রিপ্ট ভাষা পরিষেবা অক্ষম করে ভিএস-তে ত্রুটি / সতর্কতাটি সরিয়ে ফেলতে সক্ষম হয়েছি :

বিকল্পসমূহ => পাঠ্য সম্পাদক => জাভাস্ক্রিপ্ট / টাইপসক্রিপ্ট => ভাষা পরিষেবা

পুনঃসূচনা ভি.এস.

আশাকরি এটা সাহায্য করবে.

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.