Je reçois un "rejet de promesse non géré" lorsque je tente de charger une page (à partir de codefights.com) et d'attendre que certains éléments html soient chargés.Refus de promesse non géré avec Nightmare.js
Voici mon code:
import * as Nightmare from 'nightmare';
const nightmare = Nightmare({ show: true });
nightmare
.goto('https://codefights.com/interview/EDaACHNYHyH6qQFAL')
.wait('body > div:nth-child(9) > div > div.page--header > div > span')
.evaluate((selector) => {
return document.querySelector(selector);
}, 'body > div:nth-child(9) > div > div.page--header > div > span')
.end()
.then((functionTitle) => {
console.log(functionTitle);
});
est ici l'exception:
Unhandled promise rejection (rejection id: 1): Error: Evaluation timed out after 30000msec. Are you calling done() or resolving your promises?
Toutes les idées sur la façon de résoudre ce problème?
Êtes-vous en essayant d'empêcher le délai d'attente de rejet ou survenant d'être non gérée? – Bergi
@Bergi J'essaie d'empêcher le rejet d'être non gérée. Je pense que je l'ai compris aussi, la fonction d'évaluation doit renvoyer une promesse si elle est suivie d'un 'alors'. – Kiril
Ensuite, enchaînez simplement '.catch (handler)' à votre chaîne ou passez le gestionnaire comme deuxième argument à la 'chain' finale. – Bergi