2017-09-15 3 views
2

Je commence un nouveau projet en utilisant Node.js et je me demande s'il existe un moyen de gérer ce qui revient de la fonction cheerio.load(). J'ai essayé d'utiliser le rappel et les promesses (alors et attraper) mais cela n'a pas fonctionné.Noeud du gestionnaire d'erreur Cheerio js

exemple:

var $ = cheerio.load(html); 
//what if it's falied ???? how I can handle it? 

Je demande cela parce que j'ai essayé de script exécuté temps serval, mais il est parfois le travail et parfois pas.

BTW: J'utilise le module de cheerio à partir du site NPM ->npm install cheerio.

merci :-)

+0

Tant que vous lui passez une chaîne, il devrait faire QUELQUE CHOSE. Techniquement, il n'y a pas d'erreurs de syntaxe en HTML. (Si vous faites quelque chose de bizarre dans un fichier HTML, c'est à votre navigateur de le corriger et de continuer à charger le fichier). Pouvez-vous donner un exemple de cela «ne fonctionne pas»? Qu'avez-vous passé? Qu'est ce que ça fait? – Sidney

+0

'/home/ubuntu/workspace/node_modules/cheerio/lib/parse.js:55 var oldParent = node.parent || TypeError: Impossible de lire la propriété 'parent' de null' –

+1

Avant 'var $ = cheerio.load (html);', ajoutez cette ligne: 'console.log (html)'. node.root, L'erreur que vous venez de publier signifie généralement que vous passez * pas une chaîne * à Cheerio. Ce 'console.log' vous dira que' html' est juste avant que cheerio ne le charge. – Sidney

Répondre

1

Vous pouvez utiliser un bloc try/catch puisque vous ne savez pas si l'opération de cheerio réussira.

const cheerio = require('cheerio') 

try { 
    const $ = cheerio.load(html) 
} catch (e) { 
    console.log(e) // handle error 
} 

console.log('continue script')