2017-06-11 22 views
0

悪夢jsの.wait()関数に問題があります。 JavaScript関数がtrueを返してからスクリプトの残りの部分を処理するまで待つことを試みています。私が試みた両方の方法がうまくいかないので、これを行う方法はありますか?ありがとう、すべての助けに感謝します。悪夢jsのjavascript関数を待つ

var ifCompleted = function(){ 
    for(var i = 0; i < 101; i++){ 
      if(i == 100){ 
       return true; 
      } 
    } 

} 

nightmare 
    .goto('http://www.google.com') 
    .wait(function() { 
      return typeof ifCompleted() !== undefined; 
    }) 
    .goto('http://www.yahoo.com/') 
    .catch(function (error) { 
      console.error('Search failed:', error); 
    }); 

次の待機機能も機能しません。

.wait(function() { 
    return (ifCompleted() === true); 
}) 

これはどちらか動作しません。

.wait(function() { 
    return (ifCompleted() != null); 
}) 

このコードは.WAIT(100))私はあなたが(その後、使用したいと思います

+0

何.WAIT(ifCompleted) 'について調べるチェックすることをお勧めします' – pacifier21

答えて

0

を行うにしようとしていますものではありません、架空のです。

const Nightmare = require('nightmare'); 
var nightmare = Nightmare({ 
    show: true, 

}); 

nightmare 
    .goto('http://www.google.com') 
    .wait(1000) 
    .evaluate(function() { 
    return "Return after 1 second"; 
    }) 
    .then(function(result) { 
    console.log(result); 
    nightmare.goto('http://www.yahoo.com/') 
     .wait(1000) 
     .then(function() { 
     console.log("Welcome to yahoo.") 
     }).catch(function(err) { 
     console.log(err); 
     }); 
    }).catch(function(err) { 
     console.log(err); 
    }); 

あなたはhttps://github.com/rosshinkley/nightmare-examples/blob/master/docs/common-pitfalls/async-operations-loops.md

関連する問題