I want to use \"await\"
According to the sails documentation I act as follows:
https://sailsjs.com/documentation/reference/waterline-orm/models/create
SyntaxError: await is only valid in async function
This is because you are using await
in a function that is not async
Remember, the await keyword is only valid inside async functions. If you use it outside of an async function's body, you will get a SyntaxError.
Source MDN async function
You need to make the function async
for it to work. Making those changes in your code,
'use strict';
create: async function(req, res, next) {
var new_place = await Place.create({ ... }, function place_created(err, XX) {
if (err && err.invalidAttributes) {
return res.json({ 'status': false, 'errors': err.Errors });
}
}).fetch();
if (new_place) {
console.log(new_place);
res.json({ 'status': true, 'result': new_place });
}
},
I think you should make your function async.
async(function(){
var new_place = await Place.create({...})
})();
And if you are using await you should not use callbacks. You should manage the response as explained here
Also you can check this guide of how to manage async in sail.js