我正在尝试编写一个云函数,在删除客户端上的用户配置文件之前删除用户的一些对象。为此,我有一个云函数以及一些异步助手函数,它们运行解析查询并删除项目。不幸的是,在调用函数时,我总是得到以下错误
未处理的promise拒绝警告:未处理的promise拒绝。此错误要么是由于在没有catch块的情况下抛出异步函数内部,要么是由于拒绝了未用.catch()处理的promise。
下面是我的代码,我试图让它尽可能简单,但仍然出现了错误。我如何在云代码中调用异步函数,并在出现问题时仍将解析错误作为函数响应返回?
简单总结:我想写一个云函数,它调用异步助手函数,这些函数调用的方法如下
await query.find();
。调用云函数的用户应获得以下结果或实例
Parse.Error
.
有效的代码
Parse.Cloud.define("test_function", async (request) => {
throw new Parse.Error(1234, "Test error");
});
不起作用的代码
Parse.Cloud.define("test_function", async (request) => {
try {
testAsync();
} catch (error) {
throw error;
}
});
async function testAsync() {
throw new Parse.Error(1234, "Test error");
}