你可以在 paperjs 中使用 await 吗?
Can you use await in paperjs?
很简单的问题,我可以在 paperjs 中使用像 await
这样的函数吗?
我可以将很多 .then
链接在一起并且一切正常,但是只要我在它前面添加 await
我就会收到错误
SyntaxError: Unexpected token (4:22)
请告诉我他们没有成功,所以我必须开始将所有内容包装在非常长的链中,以便将 fetch 等功能集成到 paperjs 中。在我的代码下方:
<script type="text/paperscript" canvas="myCanvas">
getCollectionList = async function() {
var collectionlist = [];
collectionlist = await fetch('/api/graph/<%= database %>');
console.log(collectionlist);
}
getCollectionList();
</script>
<canvas id="myCanvas" resize></canvas>
您正在将代码编写为 PaperScript
,这意味着 Paper.j
s 使用 JavaScript
解析器来解析它并对其应用一些转换。
问题是默认情况下,Paper.js
使用的 JavaScript
解析器不支持 ES6
特性。
您必须先加载更新版本的解析器 (Acorn
),然后才能加载 Paper.js
以解决您的问题。
有关详细信息,请参阅我对模拟问题的回答 here。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Debug</title>
<!-- Load latest acron version first -->
<script type="text/javascript" src="https://unpkg.com/acorn"></script>
<!-- Then load Paper.js -->
<script type="text/javascript" src="https://unpkg.com/paper"></script>
<style>
html,
body {
margin: 0;
overflow: hidden;
height: 100%;
}
canvas {
width: 100%;
height: 100%;
}
</style>
</head>
<body>
<canvas id="canvas" resize></canvas>
<script type="text/paperscript" canvas="canvas">
// Here you can now use ES6 syntax.
const myAsyncFunction = async function() {
const response = await fetch('https://yesno.wtf/api/');
const json = await response.json();
console.log(json);
};
myAsyncFunction();
</script>
</body>
</html>
很简单的问题,我可以在 paperjs 中使用像 await
这样的函数吗?
我可以将很多 .then
链接在一起并且一切正常,但是只要我在它前面添加 await
我就会收到错误
SyntaxError: Unexpected token (4:22)
请告诉我他们没有成功,所以我必须开始将所有内容包装在非常长的链中,以便将 fetch 等功能集成到 paperjs 中。在我的代码下方:
<script type="text/paperscript" canvas="myCanvas">
getCollectionList = async function() {
var collectionlist = [];
collectionlist = await fetch('/api/graph/<%= database %>');
console.log(collectionlist);
}
getCollectionList();
</script>
<canvas id="myCanvas" resize></canvas>
您正在将代码编写为 PaperScript
,这意味着 Paper.j
s 使用 JavaScript
解析器来解析它并对其应用一些转换。
问题是默认情况下,Paper.js
使用的 JavaScript
解析器不支持 ES6
特性。
您必须先加载更新版本的解析器 (Acorn
),然后才能加载 Paper.js
以解决您的问题。
有关详细信息,请参阅我对模拟问题的回答 here。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Debug</title>
<!-- Load latest acron version first -->
<script type="text/javascript" src="https://unpkg.com/acorn"></script>
<!-- Then load Paper.js -->
<script type="text/javascript" src="https://unpkg.com/paper"></script>
<style>
html,
body {
margin: 0;
overflow: hidden;
height: 100%;
}
canvas {
width: 100%;
height: 100%;
}
</style>
</head>
<body>
<canvas id="canvas" resize></canvas>
<script type="text/paperscript" canvas="canvas">
// Here you can now use ES6 syntax.
const myAsyncFunction = async function() {
const response = await fetch('https://yesno.wtf/api/');
const json = await response.json();
console.log(json);
};
myAsyncFunction();
</script>
</body>
</html>