53

反応ネイティブで 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"] }
4

2 に答える 2

147

async48 行目のキーワードが欠落している可能性があります。

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();
    }
 }
于 2016-04-10T16:01:44.243 に答える