2017-09-15 3 views
2

Node.jsを使用して新しいプロジェクトを開始しました。私はcheerio.load()関数から返されるものを管理する方法があるかどうか疑問に思っています。 私はコールバックを使用しようとしましたが、約束していますが、それは動作しませんでした。Cheerioエラーハンドラノードjs

例:

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

私はスクリプトサーバル時間を実行しようとしたが、時にはそれが仕事だと時々ないので、私はこれを聞いていますのよ。ところで

: 私はNPMサイトからチェリオモジュールを使用しています - >チェリオ操作が成功するかどうかわからないので、あなたがtry/catchブロックを使用することができます

+0

文字列を渡す限り、何かをする必要があります。技術的には、HTMLに構文エラーはありません。 (HTMLファイルで何か変わったことをすると、それを修正してファイルをロードすることはブラウザによって異なります)。それが「うまくいかない」という例を教えてもらえますか?何を渡しましたか?それは何をするためのものか? – Sidney

+0

'/home/ubuntu/workspace/node_modules/cheerio/lib/parse.js:55 var oldParent = node.parent || node.root、 ^ TypeError:ヌルのプロパティ 'parent'を読み取れません。 –

+1

'var $ = cheerio.load(html);'の前に、 'console.log(html)'を追加してください。あなたがちょうど投稿したエラーは、通常、文字列*ではなく、cheerioに渡していることを意味します。その 'console.log'はcheerioがロードする前に' html'が正しいことを伝えます。 – Sidney

答えて

1

:-) npm install cheerio.

感謝を。

const cheerio = require('cheerio') 

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

console.log('continue script') 
関連する問題