evaluateAsync的用法是什么,何时必须使用此函数,以及使用此函数的好处是什么。
在下面,我们为此看到了一个糟糕的documentation:

var webPage = require('webpage');
var page = webPage.create();
// @TODO: Finish page.evaluateJavaScript example.

任何机构都可以在phantomjs中显示evaluateAsync的用法示例

最佳答案

该函数允许您执行任何JavaScript代码,例如evaluate API函数。
但是它将异步评估您的代码。它的意思是:

  • 当前执行上下文不会被阻止。
  • 它不会返回任何结果。

  • 假设您要执行一些长时间运行的JavaScript代码,但对它的结果不感兴趣。如果您将使用evaluate,那么您当前的执行上下文将被阻止。
    evaluateAsync的文档有点错误。 evaluateAsync的正确签名是:evaluateAsync(function, ms, args),其中:
  • 函数-评估
  • 的函数
  • ms-等待执行的时间
  • args-函数参数

  • 示例:
    evaluateAsync(function() {
       console.log('Hi! I\'m evaluateAsync call!');
    }, 1000);
    

    在现实世界中使用:
  • 您想要捕获一些异步事件。
  • 单元测试! AFAIK,PhantomJS赛跑者使用evaluateAsync运行单元测试。
  • 10-08 12:40