Not getting any response on successful requests from cloud functions. Only empty object

Parse.Cloud.define("somefunc", async function (request) {
    if ((request.params.somekey != process.env.SOME_KEY) || (request.params.someid != process.env.SOME_ID)) {
      throw "error";
    } else {
        const allowedFields = ["client", "note"];
        if (allowedFields.includes(request.params.editfield)) {
            const query = new Parse.Query("some");
              query.equalTo("id", request.params.id);
              const results = await query.find({useMasterKey: true});
              if (results.length === 0) {
                throw "Not found";
              } else {
                  let target = results[0];
                  target.set(request.params.editfield, request.params.newfieldval)
                  target.save(null, { useMasterKey: true })
                    .then((target) => {
                      return 'Edit successful: ' + target.id;
                    }, (error) => {
                      return 'Edit failed: ' + error.message;
                    });
                  }
        } else {
            throw "error, field not found";
        }
    }
  });

Errors are returning just fine, but any successful operation just returns empty brackets, like this:

Can anyone point @ what Iā€™m doing wrong? Would appreciate this!

You are not returning the promise that returns the message. So you have two options here:

return target.save(null, { useMasterKey: true }) // just change this line
                    .then((target) => {
                      return 'Edit successful: ' + target.id;
                    }, (error) => {
                      return 'Edit failed: ' + error.message;
                    });
                  }

Or (which I prefer because it is strange when you mix async/await style with promises:

try {
 await target.save(null, { useMasterKey: true });
} catch (error) {
  return 'Edit failed: ' + error.message;
}
return 'Edit successful: ' + target.id;
1 Like

The second one worked like charm! Thank you