CNode

typyscript编译async的问题

问答
Qqyqx233发布于7 年前最后回复7 年前3 回复6368 浏览0 收藏

我用的node是最新的12.xx版本.,已经原生支持async/await了. 我用tsc编译ts的代码,生成的js里面还是带

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());
    });
};

tsconfig里面的target已经设置到了es2020,并没有什么用. 请问能否不然ts转译async还是根本async就是语法糖,就算tsc不转node虚拟机也会转的??

查看回复

回复 (3)

E
ekoneko#1·7 年前
➜  test git:(master) ✗ cat test.ts 
async function main() {
  await Promise.all([])
}

➜  test git:(master) ✗ npx tsc --target esnext test.ts    
➜  test git:(master) ✗ cat test.js 
async function main() {
    await Promise.all([]);
}

应该是你配置错了

Q
qyqx233#2·7 年前

我知道什么原因了.我直接tsc的时候不知道为啥读取配置文件,tsc --build tsconfig.json 强制指定配置文件就好了,所以这是为啥..

参与回复
登录后即可参与回复。登录