0

環境

Web アプリケーションのバックエンドの後にParse.comを使用しています。私が抱えている問題はCloud Codeに関連しています。

ユーザーがプロファイルを完成させた後、データセット MY_TABLE のいくつかのフィールドを更新するafterSave( )関数を呼び出したいと思います。

更新されるフィールド (variable01、variable02、および variable03) は、関数 MY_FUNCTION を介して入力 param01 および param02 で取得されます。

エラー

次のエラーが表示されますが、これを修正することはできません

コード

Parse.Cloud.afterSave("PROFILE_COMPLETE", function(request) {
    // Use Master Key
    Parse.Cloud.useMasterKey();

    // Identify Parameters in Request
    var param01 = request.user.get('param01');
    var param02 = request.user.get('param02');

    // Print Parameters to Console
    console.log("Parameter 01 (" + param01 + ") successfully identified");
    console.log("Parameter 02 (" + param02 + ") successfully identified");

    // Identify Variables by Calling MY_FUNCTION()
    Parse.Cloud.run('MY_FUNCTION', {param01: param01, param02: param02}, {
        success: function(results) {
            // Print Results
            console.log("Function MY_FUNCTION() returned successful response");
            console.log(results);

            // Print Result Variables
            console.log("Identified variable01 = " + results.variable01);
            console.log("Identified variable02 = " + results.variable02);
            console.log("Identified variable03 = " + results.variable03);

            // Do I need to extend MY_TABLE or something else here???
            // I am doing the update and save wrong...

            // Update 'Complete' Data
            request.object.set("variable01", results.variable01);
            request.object.set("variable02", results.variable02);
            request.object.set("variable03", results.variable03);

            // Save Variables to 'MY_TABLE'
            request.object.save(null, {
                success: function(results) {
                    console.log("Variables successfully updated in MY_TABLE dataset");
                    console.log(results);
                },
                error: function(error) {
                    console.log("Error when saving variables in MY_TABLE dataset");
                    console.log("Error " + error.code + ": " + error.message);
                }
            })
        },
        error: function(error) {
            console.log("There was an error when running function MY_FUNCTION()");
            console.log(error);
        }
    });
});
4

1 に答える 1

1

あなたの説明にはおそらくいくつかの情報が欠けていますが、私の以前の経験が役立つことを願っています:

前回このエラーが発生したときは、次のことを行っていました。

コンテキスト: 結果変数が存在するクエリ コールバック内res

var MyParseClass = Parse.Object.extend("MyParseClass");
var newObject = new MyParseClass();

res.set("pointerFieldToMyParseClass",newObject);

res.save();

この例でnewObjectは、 はこの関数のスコープ外に存在しないため、最初に保存する必要があります。

var MyParseClass = Parse.Object.extend("MyParseClass");
var newObject = new MyParseClass();

newObject.save({
   success:function(savedObject){

      res.set("pointerFieldToMyParseClass",newObject);
      res.save();

   },error:function(e){}});
于 2015-01-06T17:03:16.533 に答える