Javascript page.evaluate等待ajax完成加载

Javascript page.evaluate等待ajax完成加载,javascript,node.js,puppeteer,Javascript,Node.js,Puppeteer,我正在用nodejs开发一个木偶剧本。它在脚本中有一个加载更多按钮的ajax。关键是,脚本不会等待ajax完成加载,从而离开页面。evaluate可以在不等待ajax完成的情况下完成脚本。我对新的承诺/等待有点困惑。有人能帮我写下面的脚本吗 var result=wait page.evaluate({stateSearched,areaSearched,pagePaginationNo})=>{ 函数processThePage(){ var itemResult=“测试” 返回{ 项目结果

我正在用nodejs开发一个木偶剧本。它在脚本中有一个加载更多按钮的ajax。关键是,脚本不会等待ajax完成加载,从而离开页面。evaluate可以在不等待ajax完成的情况下完成脚本。我对新的承诺/等待有点困惑。有人能帮我写下面的脚本吗

var result=wait page.evaluate({stateSearched,areaSearched,pagePaginationNo})=>{
函数processThePage(){
var itemResult=“测试”
返回{
项目结果
}
}
函数loadMore(stateSearched、areaSearched、pagePaginationNo){
$.ajax({
url:“ajax.php”,
键入:“获取”
}).完成(功能(数据){
如果(下一页==null){
lastResult=processThePage()
返回最后结果
}否则{
loadMore(状态搜索、区域搜索、页码编号+1)
}
});
}  
loadMore(状态搜索、区域搜索、2)
})

您可以向函数传递一个函数,该函数返回一个
承诺
,并在脚本完成时在函数内部调用
解析

代码示例

var result=wait page.evaluate(()=>newpromise(resolve=>{
//执行各种异步操作
决议(123);
}));
console.log(结果);//123

传递到
页面的函数。evaluate
返回一个承诺,在继续之前将等待该承诺得到解决。因此,您可以将任何异步代码放入Promise中。代码完成后,调用
resolve
。传递给
resolve
函数的参数将返回到脚本中。

太棒了!谢谢!