以下のようなコードをチュートリアルを見ながら構築し、デプロイを試みています。
javascript
1const functions = require("firebase-functions"); 2const express = require("express"); 3const cors = require("cors"); 4const stripe = require("stripe")(PERSONAL TOKEN); 5 6const app = express(); 7app.use(cors({origin: true})); 8app.use(express.json()); 9 10app.post("/payments/create", async (request, response) => { 11 try { 12 const total = request.query.total; 13 14 const paymentIntent = await stripe.paymentIntents.create({ 15 amount: total, 16 currency: "usd", 17 }); 18 response.status(201).send({ 19 clientSecret: paymentIntent.client_secret, 20 }); 21 } catch (err) { 22 console.log(err); 23 } 24}); 25 26exports.api = functions.https.onRequest(app);
app.postのアロー関数の下にエラーが出ており、 ''convert to anonymous function'' の提案がエラーを取り除くためにされています。
しかしながらその提案を受け入れると今度は ''convert tp arrow fuction" といる提案とともにエラーが発生してしまいます。
ローカルな環境ではエラーが出ていながらも期待通りの通信ができているのですが、デプロイのために
$ firebase deploy --only functions
を実行すると
Parsing error: Unexpected token =>
とターミナルで実行ができません。
原因を探るべく試しにasync/awaitのキーワードを外すとエラーが消えました。
しかしながら今回の関数では必ず非同期処理が必要ですのでどのように実装すれば良いのかがわかりません。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。