nyc*_*nik 3 async-await typescript
我在我的项目中添加了一些类似于以下内容的代码:
async fun2(): Promise<string> {
let token: string = null;
await this.auth.getToken().then(newToken => {
token = newToken;
});
return token;
}
Run Code Online (Sandbox Code Playgroud)
但是,在编译时,我收到警告:
Async functions are only available when targeting ECMAScript 2015 or higher.
Run Code Online (Sandbox Code Playgroud)
当我尝试在Chrome中运行该项目时,它可以正常工作,但在Safari中,我遇到了__awaiter函数错误.
proj.prototype.fun2 = function () {
return __awaiter(this, void 0, Promise, function * () {
var token = null;
Run Code Online (Sandbox Code Playgroud)
使用Typescript在Safari中使用async/await需要做什么?
在你的tsconfig.json,你需要"target": "es6"在compilerOptions部分中设置.请注意,只有Safari v10.0完全符合ES6标准,因此您需要使用该版本.您的代码可能无法在其他浏览器中运行,因为它们的ES6/ES2015支持尚未完成.
Promise是ES2015的一部分,因此如果切换到es6目标,则无需执行任何操作.
更新:从TypeScript 2.1开始,您可以async/await在定位ES5时使用.
| 归档时间: |
|
| 查看次数: |
3730 次 |
| 最近记录: |