3月28日,在Github上开启了一个问题,即在针对ES5时,异步箭头函数会生成损坏的代码,最终会产生以下错误:
TS1057:异步函数或方法必须具有有效的等待返回 型
这是Github上的原始问题:https://github.com/Microsoft/TypeScript/issues/7706
7月21日,微软承诺在定位ES5时支持async await
:http://react-etc.net/entry/async-await-support-for-es5-browsers-pushed-to-typescript-2-1
TypeScript 2.1现在可以在Github上使用。我已经下载了它,您可以在其package.json中看到该版本:
"name": "typescript",
"author": "Microsoft Corp.",
"homepage": "http://typescriptlang.org/",
"version": "2.1.0",
"license": "Apache-2.0",
但是当我尝试使用异步箭头功能时(我确实使用TypeScript 2.1),我仍然遇到同样的错误:
TS1057:异步函数或方法必须具有有效的等待返回 型
有人刚刚在Github上就此问题提出了一个问题:https://github.com/Microsoft/TypeScript/issues/10805
他回答说这是重复的,并且从3月份开始引用旧问题,很长一段时间是在开发TypeScript 2.1之前,问题已经关闭。
此处是否有人使用异步箭头功能(并以ES5为目标),或者知道目前的状态是什么?
这是我的代码段:
async (param1) => {
var var1 = await func1();
}
任何帮助都将深表感谢!
答案 0 :(得分:3)
我已经解决了!
问题出在我的代码中。
由于我使用TypeScript,我必须指定返回类型:
async (param1): Promise<void> => {
var var1 = await func1();
}
现在TypeScipt编译器不再抱怨了。