2014-09-10 2 views
7

Recentemente Parse.com ha annunciato la funzione Parse.Config. Tuttavia, nel codice cloud, tentando di accedere a Parse.Config restituisce sempre undefined.Perché Parse.Config restituisce undefined?

Parse.Cloud.define("search", function(req, res) { 
    Parse.Config.get().then(function(config) { 
     // This line is never reached. 
    }); 
} 

Ho fatto qualcosa di sbagliato?

risposta

4

Il tuo codice cloud è probabilmente in esecuzione con una versione precedente dell'SDK che non supporta ancora Parse Config.

È possibile impostare la versione del SDK da utilizzare come segue:

  1. Aprire un terminale, cd nella directory del progetto
  2. Run parse jssdk 1.3.0
  3. Re-delpoy il codice

Questo imposterà la versione SDK che il tuo codice utilizza per v1.3.0 dell'SDK JavaScript Parse e Parse Config dovrebbe funzionare.

+0

Quindi il comando riconfig il mio ambiente Parse cloud sotto il cofano? Sono solo curioso. –

+0

Sì, questo è fondamentalmente. Il codice cloud viene eseguito rispetto alla versione dell'SDK più recente al momento della sua distribuzione. Questo è utile in quanto non interromperà il tuo codice aggiornando automaticamente la versione, nel caso in cui il rilascio includesse modifiche irrisolte. Puoi anche tornare indietro in qualsiasi momento, è ben documentato qui https://www.parse.com/docs/cloud_code_guide#clt –

+0

Ho ancora questo problema con sdk 1.6. Sto usando 'heroku' come host per il mio codice cloud, potrebbe essere collegato a questo? Continuo ad avere un errore 'non autorizzato '... –

0

Penso che non abbiano implementato Parse.Config in CloudCode in questo momento. Il tuo codice mi sembra corretto. L'ho provato io stesso e ho avuto lo stesso problema.

+0

incontrato lo stesso problema solo ora. Qualche idea se questo è stato supportato da allora? –

1

In questo modo funziona con Parse SDK 1.3.0:

Parse.Cloud.define("getConfig", function(request, response) { 
    var config_name = request.params.config_name; 
    Parse.Config.get().then(function(config) { 
     console.log(config.get(config_name)); 
    }).then(function() { 
     response.success('Success'); 
    }, function(error) { 
     response.error(error); 
    }); 
});