使用await解析云代码js抛出语法错误
Parse cloud code js using await throws syntax error
我的问题是,我正在使用 Parse 云代码并且我有一个保存前触发器,如下所示:
Parse.Cloud.beforeSave("Ordenes", function(request, response) {
console.log(request.object + " beforeSaveCalled");
var query = new Parse.Query("Ordenes");
var current = query.get(request.object.id, {
success: function(object) {
console.log(object + "This row");
console.log(object.id + " object " + request.object.id + " request.object " + "exist?");
if (object.get("MozoAdded") === false ) {
console.log("correct return we can proceed");
// const ordenLocation = object.get("Ubicacion");
// const queryMozos = new Parse.Query("MozosLocation");
//
// queryMozos.near("MozoLocation1", ordenLocation);
//
// queryMozos.limit(1);
//
// const mozoToAdd = await queryMozos.find();
//
// console.log(mozoToAdd +" El mozo cerca es " + mozoToAdd[0].get("Name"));
// object.set("MozoName", mozoToAdd[0].get("Name"));
response.success();
} else if (object.get("MozoAdded") === undefined) {
console.log("Weird but not incorrect, proceed");
// const ordenLocation = object.get("Ubicacion");
// const queryMozos = new Parse.Query("MozosLocation");
//
// queryMozos.near("MozoLocation1", ordenLocation);
//
// queryMozos.limit(1);
//
// const mozoToAdd = await queryMozos.find();
//
// console.log(mozoToAdd +" El mozo cerca es " + mozoToAdd[0].get("Name"));
//
// object.set("MozoName", mozoToAdd[0].get("Name"));
response.success();
} else {
console.log("Big nope, nope, nope");
response.error("Esta orden ya fue asignada.");
}
},
error: function(object, error) {
response.success();
}
});
});
注释代码未注释会抛出此错误:
Cloud Code not loaded:
/usr/src/app/data/cloud/main.js:175
const mozoToAdd = await queryMozos.find();
^^^^^^^^^^
SyntaxError: Unexpected identifier
at createScript (vm.js:56:10)
at Object.runInThisContext (vm.js:97:10)
at Module._compile (module.js:542:28)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (/usr/src/app/cloudCodeWrapper.js:4:20)
我想要做的是在 MozosLocation table 中找到最近的 mozo,使用 Orden["Ubicacion"] 将其名称添加到我要保存的对象中。
如您所见,我对 js 不是很熟悉,而且解析指南并没有真正涵盖此类错误,所以关于它可能导致它的原因有什么想法吗?帮助
它仅适用于 Parse Server 版本 3.0.0。正如您在其 releases.
中所见,只有此版本完全支持 promises 和 async/await
我的问题是,我正在使用 Parse 云代码并且我有一个保存前触发器,如下所示:
Parse.Cloud.beforeSave("Ordenes", function(request, response) {
console.log(request.object + " beforeSaveCalled");
var query = new Parse.Query("Ordenes");
var current = query.get(request.object.id, {
success: function(object) {
console.log(object + "This row");
console.log(object.id + " object " + request.object.id + " request.object " + "exist?");
if (object.get("MozoAdded") === false ) {
console.log("correct return we can proceed");
// const ordenLocation = object.get("Ubicacion");
// const queryMozos = new Parse.Query("MozosLocation");
//
// queryMozos.near("MozoLocation1", ordenLocation);
//
// queryMozos.limit(1);
//
// const mozoToAdd = await queryMozos.find();
//
// console.log(mozoToAdd +" El mozo cerca es " + mozoToAdd[0].get("Name"));
// object.set("MozoName", mozoToAdd[0].get("Name"));
response.success();
} else if (object.get("MozoAdded") === undefined) {
console.log("Weird but not incorrect, proceed");
// const ordenLocation = object.get("Ubicacion");
// const queryMozos = new Parse.Query("MozosLocation");
//
// queryMozos.near("MozoLocation1", ordenLocation);
//
// queryMozos.limit(1);
//
// const mozoToAdd = await queryMozos.find();
//
// console.log(mozoToAdd +" El mozo cerca es " + mozoToAdd[0].get("Name"));
//
// object.set("MozoName", mozoToAdd[0].get("Name"));
response.success();
} else {
console.log("Big nope, nope, nope");
response.error("Esta orden ya fue asignada.");
}
},
error: function(object, error) {
response.success();
}
});
});
注释代码未注释会抛出此错误:
Cloud Code not loaded:
/usr/src/app/data/cloud/main.js:175
const mozoToAdd = await queryMozos.find();
^^^^^^^^^^
SyntaxError: Unexpected identifier
at createScript (vm.js:56:10)
at Object.runInThisContext (vm.js:97:10)
at Module._compile (module.js:542:28)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (/usr/src/app/cloudCodeWrapper.js:4:20)
我想要做的是在 MozosLocation table 中找到最近的 mozo,使用 Orden["Ubicacion"] 将其名称添加到我要保存的对象中。
如您所见,我对 js 不是很熟悉,而且解析指南并没有真正涵盖此类错误,所以关于它可能导致它的原因有什么想法吗?帮助
它仅适用于 Parse Server 版本 3.0.0。正如您在其 releases.
中所见,只有此版本完全支持 promises 和 async/await