反応ネイティブでasync/awaitを使用しようとすると、次のエラーが表示されます。
uncaught error Error: SyntaxError: /Users/senthilsivanath/Documents/MusicTulip/index.ios.js: Unexpected token (50:23)
48 | renderScene: function(route,nav) {
49 | try {
50 | const response = await signIn.isLoggedIn();
私の.babelrc
ファイルは次のとおりです。
{ "presets": ["react-native", "es2015", "babel-preset-stage-3"] }
48行目のasync
キーワードが欠落している可能性があります。
async
キーワードの前にfunction
キーワードを使用するようにコードを更新します。
renderScene: async function(route, nav) {
try {
const response = await signIn.isLoggedIn();
// ...
または、矢印関数を使用する場合は、async
キーワードをパラメーターリストの前に置きます。
renderScene: async (route, nav) => {
try {
const response = await signIn.isLoggedIn();
JavaScriptでは、async
キーワードは、添付されたエンクロージャーがawait
キーワードを使用することをランタイムに警告するデコレーターであるため、常に一緒に使用されます。これが、この構文をasync/await
構文と呼ぶ人々の声を聞く理由です。
単に置く:await
なしではasync
を使用できません。
編集:これをクラス内で宣言する場合は、 構文が正しい :
class MusicTulip extends Component {
async renderContent() {
const response = await signIn.isLoggedIn();
}
}
これが役立つことを願っています!