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)
,其中:
- function - 要评估的函数
- ms - 执行前等待的时间
- args - 函数参数
示例:
evaluateAsync(function() {
console.log('Hi! I\'m evaluateAsync call!');
}, 1000);
在现实世界中使用:
- 您想捕获一些异步事件。
- 单元测试!据我所知,PhantomJS 运行器使用
evaluateAsync
运行单元测试。
关于javascript - 我们如何在 phantomjs 中使用 evaluateAsync,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22474525/