async-await

各位大神們 我初次接觸async與await
想請教關於javascript下使用async與await問題

1 目前有使用npm下載到async.js 與 async.min.js 兩個檔案放置於assets資料夾下
並且了一段測試代碼

TestAsync: async function()
{
console.log("…TestAsync…");
let res = await fetch(‘https://jsonplaceholder.typicode.com/todos/1’);
let data = await res.json();
console.log(data);
},

但在CocosCreator編譯時就出現了 “RegeneratorRuntime is not defind” 的這個錯誤
其實我不太清楚是我寫法錯誤, 或者是引入錯誤嗎?


2 有看過版上關於async與await的文章, 似乎有人推薦使用TypsScript的語法來做, 本身似乎就支援, 請問是否有參考的程式碼, 本身對於Typescript語法不太熟悉, 想請大神們指點迷津

1.async await 就是es6的语法功能啊 不需要用Npm下载包吧 .你提供的讯息太少无法确定问题所在
2.ts js 应该都支持async await的吧,ts只是js的一个究极进化版 本身没什么区别,用TS熟悉了会写的更爽是真的

1赞

我猜不是什么在CocosCreator編譯時出现错误,
而是放进微信小游戏开发者工具里跑才报出的问题吧……

帮你搜了一个估计就是它了
https://www.jianshu.com/p/cb0139b7e582

1赞

Blue大大

1 我目前使用的CocosCreator版本是為v2.1.1版本, 照這意思是這版本已經支援ES6了嗎?
會這麼問是因為版上有相關的async-await的問題, 也都是照著npm下載包的方式走, 所以是尚早的版本尚未支援此功能嗎?

2 原本也是想直接進入ts的, 不過因為沒碰過js, 想說趁這個機會來熟識一下這個語法:joy:


RnMss大大
我目前是在Editor跑Browser模式而出這個錯誤的, 不過我有看到人家說去下載facebook的regenerator -runtime.js來解決這個問題, 然後在使用async-await的js使用require來引入後, 目前在pc上run起來沒有出錯

Blue大大

1我目前使用的CocosCreator版本是為v2.1.1版本,照這意思是這版本已經支援ES6了嗎?
會這麼問是因為版上有相關的async-await的問題,也都是照著npm下載包的方式走,所以是尚早的版本尚未支援此功能嗎?

2 原本也是想直接進入ts的, 不過因為沒碰過js, 想說趁這個機會來熟識一下這個語法:joy:

你的项目目录下的tsconfig.json需要进行配置
“compilerOptions”: {
“module”: “commonjs”,
“lib”: [ “dom”, “es6”, “es2015.promise” ],
“target”: “es6”,
“experimentalDecorators”: true,
“skipLibCheck”: true,
“outDir”: “temp/htest”
},
其中有es5的可以改成es6再试试看?