【发布时间】:2021-12-06 01:18:26
【问题描述】:
我写了一个node.js程序,做了所有事情都没有结束。
我什么都试过了。
下面是我的代码:
const log = require('why-is-node-running') // should be your first require
const net = require('net')
const puppeteer = require('puppeteer');
//const sharp = require("sharp");
const sharp = require("sharp");
async function tkscr() {
const browser = await puppeteer.launch();
const page = await browser.newPage();
// set the size of the viewport, so our screenshot will have the desired size
await page.setViewport({
width: 1920,
height: 1080
})
await page.goto('https://www.google.com/', {waitUntil: 'load', timeout: 0});
await page.screenshot({ path: 'gg.jpeg' ,fullPage: true});
await browser.close();
}
tkscr().then(
res => cropImage())
.catch(err => console.log(err));
function cropImage() {
try {
sharp("gg.jpeg")
.extract({ width: 770, height: 388, left: 552, top: 770 })
.toFile("sammy.jpeg", function(err) {
console.log("process completed");
setTimeout(function () {
log() // logs out active handles that are keeping node running
}, 100)
});
} catch (error) {
console.log(error);
}
}
这个应用程序使用 puppeteer 截取屏幕截图,然后使用锐利截取屏幕截图
我使用“为什么节点正在运行”
我得到了下面的日志:
我不知道该怎么办?请帮帮我
谢谢
【问题讨论】:
-
当用
log删除setTimeout时,程序对我来说非常完美..