📜  如何使用带有原生 ES6 Promises 的 Typescript?

📅  最后修改于: 2022-05-13 01:56:38.625000             🧑  作者: Mango

如何使用带有原生 ES6 Promises 的 Typescript?

什么是打字稿?
TypeScript 是一种免费的开源编程语言,由 Microsoft 开发和维护。它实际上为 JavaScript IDE 和静态检查等实践提供了高效的开发工具。它甚至使代码更易于阅读和理解。我们可以使用 TypeScript 对普通的 JavaScript 进行巨大的改进。为了使代码以某种更有文档的形式出现,TypeScript 是首选,它本身具有在代码中添加数据类型(或返回类型)的功能,可为任何用户提供更好的可读性。

ES6 和 TypeScript: ES6 是 ECMAScript(ES)的一个版本,它是由 ECMA 国际标准化的脚本语言规范。 TypeScript 为我们提供了 ES6 的所有优点,而且效率很高。 TypeScript 支持具有本机 ES6 生成器的机器的异步函数。通过这种方式,TypeScript 允许使用来自原生 ES6 的 Promise。

我们可以通过以下方式使用带有原生 ES6 Promise 的 TypeScript:

  1. 第一种方法是在 tsconfig.json 文件中添加以下代码行,如下所示:
    "compilerOptions": {
        "lib": ["es5", "es2015.promise"]
    }
    

    这将包括原生 ES6 承诺的兼容性,而无需将目标设置为 ES6。

  2. 另一种方法是在 tsconfig.json 文件中添加以下代码行,如下所示:
    "compilerOptions": {
        "target": "ES6"
    }
    

    在使用上面的代码时,Promise 应该肯定存在于运行时中。

  3. 还有一种更有效的方式来使用带有原生 ES6 承诺的 Typescript。以下步骤包括:
    • 第 1 步:使用{ }创建package.json文件。
    • 第 2 步:调用npm install –save @types/es6-promise 。这将更改 package.json 以包含 ES6-promise 作为依赖项。
    • 第 3 步:然后,调用tsc –init 。此命令为我们创建 tfconfig.json 文件。
    • 第 4 步:现在,我们可以在 typescript 文件中使用var x: Promise;
    • 第五步:执行tsc -p编译你创建的项目或程序。

所有上述方法往往适用于所有浏览器。通过这些,我们可以使用带有原生 ES6 承诺的 TypeScript。

演示在 async/await 中 TypeScript 中何处使用 Promise 的示例。

让我们看看如何在 TypeScript函数中使用 Promise。为此,下面创建了一个简单的承诺。在这里,promise 被称为具有泛型类型的字符串,并且基本上执行两个操作,resolve 或 reject。

const val = new Promise((resolve, reject) => {});

我们的 Promise 可以被解决或拒绝,这由以下已知为回调的代码执行。

val.then(value => {
  console.log('resolved', value);
});
  
val.catch(error => {
  console.log('rejected', error);
});

在这里, .then 部分执行解析执行,而 .catch 负责拒绝部分。如果 promise 得到解决,则执行回调。否则,将执行 catch 回调。

要解决承诺,请使用以下代码:

resolve("Hello");

输出:

resolved 'Hello'

只有在特殊情况下才能拒绝承诺。不建议使用原始字符串拒绝承诺。相反,在拒绝一个 Promise 时最好使用一个错误构造函数。

拒绝承诺是通过以下代码完成的:

reject(new Error('failed'));

输出:

rejected 'failed'

像这样,ES6 Promise 与 TypeScript 一起使用,只需使用 resolve/reject 就可以更轻松、更快地执行回调。