我的应用程序是在Node.js中制作的,我面临的问题是我无法从异步函数中的变量访问值。我有另一条路线(不是异步路线),一切正常,这是我收到此错误的地方:
协议错误(Emulation.setDeviceMetricsOverride):无效 参数width:期望的整数值;高度:整数值 预期的
app.get("/", cors(), (request, response) => {
var filename = Date.now() + '.png';
var width = request.query.width;
var height = request.query.height;
var url = request.query.url;
console.log(width);
console.log(height);
console.log(url);
(async () => {
const browser = await puppeteer.launch({
args: ['--no-sandbox', '--disable-setuid-sandbox']
});
const page = await browser.newPage();
await page.setViewport({ width: width, height: height });
await page.goto(url, {
waitUntil: 'networkidle2',
timeout: 3000000
});
await page.screenshot({ path: './data/' + filename, fullPage: true });
await browser.close();
})()
})
我肯定是在发送整数。任何建议表示赞赏。
答案 0 :(得分:0)
QueryString参数始终作为字符串求值。
您必须使用parseInt
全局方法将这些字符串转换回整数。
var width = parseInt(request.query.width);
var height = parseInt(request.query.height);