AWS EC2 上的解析服务器在云代码上出现 141 错误
Pasre server on AWS EC2 giving 141 error on cloud code
我现在使用以下云代码仅更新 AWS EC2 实例上我的解析服务器 运行 上的“下载”列。但我收到错误代码 141(无效函数)
Parse.Cloud.define("updateDownloads", async (request) => {
const query = new Parse.Query(request.params.className);
query.get(request.params.objectId)
.then((watchFace) => {
downloads = watchFace.get("downloads")
watchFace.set("downloads", downloads + 1);
await watchFace.save(null, { useMasterKey: true });
return "download updated";
}, (error) => {
return "something went wrong";
});
});
我已将我的代码放在 /opt/bitnami/cloud/main.js
中。
我什至尝试在 config.json 文件中添加 “cloud”: “/opt/bitnami/cloud/main.js”
,但随后解析服务器给出 503 Service Unavailable 错误。所以我删除了它。
如果您不将云代码 main.js
文件添加到您的解析服务器配置中,解析服务器将永远找不到您的函数,这就是您收到无效函数错误的原因。
如果在添加文件时出现错误,要么是你添加的方式不对(你需要检查你的解析服务器初始化代码),要么是config.json格式错误,要么是云代码有问题一个问题。
找出它的最佳方法是检查您的日志。
乍一看,我看到的一个问题(可能还有其他问题)是 await
在不是 async
的函数中的用法。您还使用了 async
和 then
的组合,这有点奇怪。
我建议您将代码更改为:
Parse.Cloud.define("updateDownloads", async (request) => {
const query = new Parse.Query(request.params.className);
const watchFace = await query.get(request.params.objectId);
const downloads = watchFace.get("downloads");
watchFace.set("downloads", downloads + 1); // You can use inc function to avoid concurrency problem
await watchFace.save(null, { useMasterKey: true });
return "download updated";
});
我现在使用以下云代码仅更新 AWS EC2 实例上我的解析服务器 运行 上的“下载”列。但我收到错误代码 141(无效函数)
Parse.Cloud.define("updateDownloads", async (request) => {
const query = new Parse.Query(request.params.className);
query.get(request.params.objectId)
.then((watchFace) => {
downloads = watchFace.get("downloads")
watchFace.set("downloads", downloads + 1);
await watchFace.save(null, { useMasterKey: true });
return "download updated";
}, (error) => {
return "something went wrong";
});
});
我已将我的代码放在 /opt/bitnami/cloud/main.js
中。
我什至尝试在 config.json 文件中添加 “cloud”: “/opt/bitnami/cloud/main.js”
,但随后解析服务器给出 503 Service Unavailable 错误。所以我删除了它。
如果您不将云代码 main.js
文件添加到您的解析服务器配置中,解析服务器将永远找不到您的函数,这就是您收到无效函数错误的原因。
如果在添加文件时出现错误,要么是你添加的方式不对(你需要检查你的解析服务器初始化代码),要么是config.json格式错误,要么是云代码有问题一个问题。
找出它的最佳方法是检查您的日志。
乍一看,我看到的一个问题(可能还有其他问题)是 await
在不是 async
的函数中的用法。您还使用了 async
和 then
的组合,这有点奇怪。
我建议您将代码更改为:
Parse.Cloud.define("updateDownloads", async (request) => {
const query = new Parse.Query(request.params.className);
const watchFace = await query.get(request.params.objectId);
const downloads = watchFace.get("downloads");
watchFace.set("downloads", downloads + 1); // You can use inc function to avoid concurrency problem
await watchFace.save(null, { useMasterKey: true });
return "download updated";
});