定义了async函数,await第一个异步操作(里面嵌套第二个异步),for循环两遍报错
// 报错信息
(node:5020) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'webContents' of undefined
源代码
async function fun1(connection){
for(let i = 1; i<=2;i++){
## // **这是第一个异步 查询数据库**
let sqlstr = `select bookurl from bookurl where id = "${i}"`;
// 这个 await 等待执行完成
await connection.query(sqlstr,function(err,results,fields){
if(err){console.log(err);}
console.log(results[0].bookurl);
## // **第一个异步里嵌套第二个异步**
nightmare
.goto('http://www.xxx.com/'+results[0].bookurl,{})
.inject('Js', 'jquery-1.2.6.js')
.wait(function(){
window.book = [];
return true;
})
.evaluate(function(){
// test
return window.book;
})
.end()
.then(function(results){
// 插入数据库
let sql11 = `insert into bookinfo values(null,"${results[0]}"`;
connection.query(sql11,function(err,results,fields){
if(err){console.log(err);}
console.log('success');
});
})
});
}
}