私はbabel-node
で実行するスクリプトを持っており、それはそれで1 await
で動作しますが、私は別のawait
を追加するとき、それは次のようになりますSyntaxError: Unexpected token
エラースロー:Babel-node:1つは動作するのを待っていますが、2つ以上は動作しません。 SyntaxErrorと休憩:予期しないトークン
SyntaxError: C:/Users/User/Documents/thing/updateFirebase.js: Unexpected token (73:12)
[0m 71 | [31m'votes'[39m[1m:[22m [35m0[39m
72 | [32m}[39m[1m;[22m
> 73 | await writeNewData[94m[1m([22m[39mcard[1m.[22mname[1m,[22m newData[1m,[22m newEditionArrayId[94m[1m)[22m[39m[1m;[22m
| ^
74 | [32m}[39m
75 | [32m}[39m
76 | [36melse[39m [32m{[39m [90m
を
私はFirebaseのリアルタイムデータベースを使用していますし、私の最初のawaitは、単にデータのチャンクを取得するために待っている:
let snapshot = await dbRef.once('value');
それから私は、他の原料の束を行うループに入ると、次の操作を行います。
await writeNewData(book.name, newData, newEditionArrayId);
そして、これが呼び出される関数です:
function writeNewData(name, object, arrayId) {
var localMidRef = Firebase.database().ref(name + "/editions/"+ arrayId);
console.log("writing new data to "+name);
return localMidRef.set(object);
}
あなたはそれをコールバックを渡すことができますので、私は(私はそうでないことを証明することにFirebaseのドキュメント内の任意のドキュメントを発見していない、非同期set()
作品を想定しています。 ..)。しかし、私はなぜ、第2の使い方で、最初のキーワードではなく、あなたのキーワードが構文解析に失敗するのを理解できません。
マイ.babelrc
ファイル:
{
"presets": ["es2015", "react"],
"plugins": ["syntax-async-functions","transform-regenerator"]
}
私はそこにstage-0
を置けばそれはすべての作業を停止します。
私はそれが待っているとは思わない。完全なエラーメッセージとは何か、予期しないトークンは何ですか? –
OPにエラーmsgを追加しました。エラーメッセージにもこのような長方形の文字があり、それが矢印が指しているものなので、どのトークンであるのか分かりません。 – IronWaffleMan
「ループに入る」と言うとき、あなたは 'forEach'を使っていますか?なぜなら、あなたの 'await'はforeachコールバックの中にあるからです。これは非同期関数ではありません。 'writeNewData'を呼び出す実際のコードを見せてください。 – loganfsmyth