小编Jor*_*roy的帖子

如何使用 Nest js 作为服务器端并在客户端使用 React 从 puppeteer 下载 pdf?

我在后端使用 Nest 通过 Puppeteer 生成 pdf 文件。当我给它提供在磁盘上创建 pdf 的路径时,Puppeteer 工作正常。

我目前正在归还pdf。

这是生成 pdf 的代码:

const browser = await puppeteer.launch({ headless: true });
    const page = await browser.newPage();
    await page.goto('https://blog.risingstack.com', {waitUntil: 'networkidle0'});


    var options = {
      width: '1230px',
      displayHeaderFooter: false,
      margin: {
        top: "10px",
        bottom: "30px"
      },
      printBackground: true,
    }

    const pdf = await page.pdf(options);
  
    await browser.close();
    return pdf
Run Code Online (Sandbox Code Playgroud)

这是调用前一个函数的控制器:

  @Header('Content-Type', 'application/pdf')
  async Printpdf(@Body() message: any) {
    console.log(message);
    return this.PrintpdfService.printpdf();
  }
Run Code Online (Sandbox Code Playgroud)

在 React 中,我用 axios 来调用它,如下所示:

return axios.post(`http://localhost:3000/printpdf`,data, {
    responseType: 'arraybuffer', …
Run Code Online (Sandbox Code Playgroud)

javascript pdf reactjs puppeteer nestjs

3
推荐指数
1
解决办法
7814
查看次数

如何禁用 Mapbox 中的事件侦听器?

我正在尝试使用 React 上的 Mapbox 来控制图层上的事件侦听器。map.off 应该可以做到这一点,但它并没有删除图层中的 onclick 事件。https://docs.mapbox.com/mapbox-gl-js/api/map/#map#off

但我做错了,所以我无法删除该事件。这是我到目前为止所做的......

要添加事件,我这样做

map.on('click', 'building_footprints_click', addBuildingPopUp)

为了尝试删除它,我尝试过:

map.off('click', 'building_footprints_click', addBuildingPopUp);

map.off('click', 'building_footprints_click');

map.off('click', addBuildingPopUp);

但他们都没有工作。我读到我必须发送 on 事件的实例。所以我尝试:

let event = map.on('click', 'building_footprints_click', addBuildingPopUp)

以及与上面相同的三个关闭操作,但它们也不起作用

map.off('click', 'building_footprints_click', event);

map.off('click', 'building_footprints_click');

map.off('click', event);

还有监听器功能,我尝试过:

const addBuildingPopUp = (e) => {} 

and 
function addBuildingPopUp (e) {} 

and 
let addBuildingPopUp = function building (e) {}

Run Code Online (Sandbox Code Playgroud)

这是一个基本的 Stackblitz,其中包含非工作函数的示例 https://stackblitz.com/edit/react-5maykf?file=src/App.js

https://react-5maykf.stackblitz.io/

javascript event-handling layer mapbox-gl

2
推荐指数
1
解决办法
8454
查看次数