TypeScript 的 `async/await` 和 ES7的`async/await` 有什么区别没?

TypeScript 的 async/await 和 ES7的async/await 有什么区别没?

阅读 2.3k
3 个回答

没有区别。

TS 只是类型系统,并不提供新语法。

看官方文档,应该没啥区别的:https://www.typescriptlang.or...

如果版本变化,有点差别的话,也可以通过拓展插件或者babel类似编译工具处理掉。

async/await 不是ES8的东西吗(doge)

ES的async/await是由浏览器等js运行环境提供的,而ts的async/await是根据情况转译成js的,具体在于tsc或者babel转译成什么样的js代码。

async function test(): Promise<Response> {
    const result = await fetch('wokao6666.com/ppt')
    return result
}

tsc转译成ES6

"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
    return new (P || (P = Promise))(function (resolve, reject) {
        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
    });
};
function test() {
    return __awaiter(this, void 0, void 0, function* () {
        const result = yield fetch('wokao6666.com/ppt');
        return result;
    });
}

转译成ES8

"use strict";
async function test() {
    const result = await fetch('wokao6666.com/ppt');
    return result;
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题