我需要帮助才能配置我的浏览器以使用跟踪编译器。我尝试了几种方法来放置一个简单的异步代码,但还没有成功。代码如下:
<!DOCTYPE html>
<html>
<body>
<h1 id="message"></h1>
<script src="https://google.github.io/traceur-compiler/bin/traceur.js"></script>
<script src="https://google.github.io/traceur-compiler/src/bootstrap.js"></script>
<script type="module">
$traceurRuntime.options = traceur.util.Options.experimental();
console.log("t", traceur, "tr", $traceurRuntime, "tro", $traceurRuntime.options);
function changeTest(text) {
return new Promise().resolve(text+text);
}
async function run(text) {
var newText = await encrypt(text);
}
console.log(run("asdf"));
</script>
</body>
</html>
traceur编译器链接显示它应该工作是here。
出现以下错误:
[&#34; file:///.../traceur_inline_script_1.js:8:8:预期的分号&#34;, &#34; file:///.../traceur_inline_script_1.js:9:9:预期的分号&#34;]
tracerRuntimeOptions看起来没问题:
Options {
arrowFunctions: true,
blockBinding: true,
classes: true,
computedPropertyNames: true,
defaultParameters: true…
}
annotations: true
arrayComprehension: true
arrowFunctions: true
asyncFunctions: true
asyncGenerators: true
atscript: (...)
blockBinding: true
classes: true
commentCallback: false
computedPropertyNames: true
debug: false
debugNames: false
defaultParameters: true
destructuring: true
experimental: (...)
exponentiation: true
exportFromExtended: true
forOf: true
forOn: true
freeVariableChecker: false
generatorComprehension: true
generators: true
inputSourceMap: false
lowResolutionSourceMap: false
memberVariables: true
moduleName: "default"
modules: (...)
modules_: "bootstrap"
numericLiterals: true
outputLanguage: "es5"
parseOptions: Object
properTailCalls: true
propertyMethods: true
propertyNameShorthand: true
referrer: ""
require: true
restParameters: true
script: false
sourceMaps: (...)
sourceMaps_: false
sourceRoot: false
sourceRoot_: false
spread: true
symbols: true
templateLiterals: true
transformOptions: Object
typeAssertionModule: null
typeAssertions: false
types: true
unicodeEscapeSequences: true
unicodeExpressions: true
validate: false
__proto__: Options
我尝试了几种变化但尚未成功。有人可以帮我写一个有效的代码吗?
提前致谢。
答案 0 :(得分:0)
如上所述:
事实上,我误解了如何使用Traceur转换器。我通过使用类似grunt的东西将文件编译为ECMAScript-7,然后在我的HTML页面中使用已编译的输出来解决了这个问题。 await运算符工作正常。当我有一段时间我会更好地解释,但这是方向。
<强>参考强>