调用异步函数后的UnhandledPromiseRejectionWarning

问题描述

我试图编写一个Cloud Function来删除用户的某些对象,然后再删除客户端上的用户配置文件。为此,我有一个云函数以及一些异步帮助程序函数,它们运行解析查询删除项目。不幸的是,调用函数时总是出现以下错误

UnhandledPromiseRejectionWarning:未处理的承诺拒绝。该错误是由于在没有catch块的情况下抛出异步函数而引起的,或者是由于拒绝了未使用.catch()处理的诺言而引起的。

下面是我的代码,我试图使其尽可能简单,但仍然收到错误。如何在我的Cloud Code中调用异步函数,并且如果出现问题,仍然返回解析错误作为函数响应?

简单的摘要:我想编写一个云函数,该函数调用异步辅助函数,这些函数正在调用诸如await query.find();之类的方法调用cloud函数用户应该获取结果或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");
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)