2017-11-06 8 views
0

リクエストごとに悪夢を実行する方法は?リクエストごとに悪夢を実行する方法は?

以下のメソッドは1回だけ実行され、2回目以降はスクリプトが実行されません。それは無限の負荷です。それは何でしょうか?

app.get('/', (req, res) => { 

    nightmare 
     .goto('https://site.com.br') 
     .wait(() => { 
      return $('#url').text() !== '' 
     }) 
     .evaluate(() => { 

      return $('#url').text() 
     }) 
     .end() 
     .then((result) => { 

      res.send(result) 

     }) 
     .catch((error) => { 
      console.error('Search failed:', error); 
     }); 

}) 
+0

これは悪夢になる可能性があります。 – Yitzchak

+0

一度だけ実行されるとはどういう意味ですか?また、catch文で 'res.send'を呼び出す必要があります。 – dzm

答えて

0

ありがとうインスタンスを終了し、あなたが将来の要求のためのインスタンスを使用することはできませんあなたの最初の要求に.endを呼び出しているので、それは一度だけ実行されます。

この行を削除すると、それは絶対に問題ありません。

app.get('/', (req, res) => { 

    nightmare 
     .goto('https://site.com.br') 
     .wait(() => { 
      return $('#url').text() !== '' 
     }) 
     .evaluate(() => { 

      return $('#url').text() 
     }) 
     .end() // <-- remove this line 
     .then((result) => { 

      res.send(result) 

     }) 
     .catch((error) => { 
      console.error('Search failed:', error); 
     }); 

}) 
関連する問題