2017-07-16 1 views
1

J'utilise un module node npm dans une application js suivante pour obtenir des données d'une API. Je dois retourner les valeurs res2. Le "avant le retour" console.log enregistre les données au terminal et s'y termine. Qu'est-ce que je fais mal? MerciValeur de retour de la fonction js du nœud

+0

pouvez-vous '' 'console.log (RES2)' '' 'juste avant '' return { res2 }; '' 'et voyez s'il y parvient? – ifiok

+0

'return return' renvoie probablement les données. –

+0

@ifiok non, il ne – Kofi

Répondre

3

Pouvez-vous vérifier si zxapi.programs renvoie Promise? Si ce n'est pas le cas, vous devrez peut-être créer une fonction qui renvoie Promise.

Par exemple, vous pouvez utiliser quelque chose comme

function zxpromise() { 
    return new Promise((resolve, reject) => zxapi.programs({ region: "DE" }, function(err, result) { 
     if (err != null) { 
      reject(err); 
     } 
     console.log(result, "before return"); 
     resolve(result); 
     console.log(result, "after return"); 
    })); 
} 

puis, vous pouvez appeler zxpromise comme

const res2 = await zxpromise() 
+0

cela a résolu mon problème !! merci !!!!! – Kofi