2016-09-30 17 views
8

Chúng tôi đang sử dụng async/await cho dự án Meteor của chúng tôi. Cú pháp này ở mọi nơi trong resolvers.js của chúng tôi. Mọi thứ đã hoạt động tốt cho đến khi chúng tôi nâng cấp lên Node 6.7. Bây giờ nó cho thấy lỗi này mỗi khi chúng tôi cố gắng xây dựng nó:Babel: "Từ khóa 'đang chờ' được bảo lưu (53:24)"

"Từ khóa 'await' được dành riêng (53:24)"

enter image description here

Có ai biết làm thế nào để giải quyết này?

Dưới đây là nội dung của tập tin .babelrc tôi:

{ 
    "presets": ["es2015", "stage-2", "react"], 
    "plugins": ["react-require", "babel-root-slash-import"] 
} 
+0

Lưu ý rằng toán tử mũ sẽ chuyển từ 'stage-3' (được bao gồm bởi' stage-2') thành giá trị đặt trước ['es2016'] (http : //babeljs.io/docs/plugins/preset-es2016/) và dấu phẩy không đồng bộ/đang chờ và dấu phẩy đang chuyển sang ['es2017'] (http://babeljs.io/docs/plugins/preset-es2016/), vì vậy bạn có lẽ nên sử dụng những thay vào đó. – Frxstrem

+0

Tôi đã cố thay đổi "es2015" thành "es2017" nhưng vẫn có lỗi tương tự. –

+0

Bạn không nên thay đổi 'es2015' thành' es2017', bạn nên thêm 'es2016' và' es2017' thay vì 'stage-2'. ('[" es2015 "," es2016 "," es2017 "," phản ứng "]'). Dù sao, nó không phải là một giải pháp có thể xảy ra, chỉ là một "người đứng đầu" rằng nó sẽ thay đổi sớm. – Frxstrem

Trả lời

1

Được rồi, tôi phát hiện ra một giải pháp cho vấn đề của riêng tôi. Tôi chỉ loại trừ .babelrc khi thực hiện xây dựng Meteor vì Meteor đã có một gói hỗ trợ cú pháp ES6. Tôi đã không hoàn toàn loại bỏ các .babelrc vì tôi sẽ cần nó trên các bài kiểm tra và khi chạy Storybook mà không kích hoạt xây dựng Meteor.

18

Chỉ trong trường hợp bất kỳ ai khác tìm kiếm vấn đề tương tự này, trong trường hợp của tôi, đó là lỗi người dùng, tôi. Tôi quên đặt từ khóa async trước tên hàm. enter image description here

1

Chờ một mình là cú pháp không hợp lệ. chờ đợi cần được gọi bên trong một chức năng async như:

var aFunction = async function() { 
    let aResponse = await get('aValue'); 
} 
Các vấn đề liên quan