概要
'yield'は予約語です。
Webアプリのフロント開発をしてたら謎のエラーメッセージと遭遇したので、メモ。
開発環境(フロントエンド)
TypeScript
Vue
ソースコード
service = new SampleService();
search(){
let sample = await this.service.findall();
console.log(this.sample);
}
もうお気づきでしょうが・・・await文を使用しているのに、searchメソッドにはasyncがついてません。
これが原因です。
yield?
yieldはジェネレータ関数の一時停止や再開を行う構文だそうで、JavaScriptにおける非同期処理に密接に関わっている様子。
asyncつけないとawaitが機能しないことをJavaScriptでは「The keyword 'yield' is reserved.」と言うのか・・・
修正コード
service = new SampleService();
async search(){ // 修正点
let sample = await this.service.findall();
console.log(this.sample);
}