杀死zombie.js浏览器对象

时间:2018-04-14 11:52:06

标签: node.js lambda serverless zombie.js

我的lambda函数超时有问题。 它因为zombie.js JavaScript浏览器而超时。

const login = async (url, pass) => {
  const Browser = require('zombie');
  var browser = new Browser();

  const val = await new Promise((resolve, reject) => {
    browser.visit(url, () => {
      browser.fill('content-protector-password', pass)
      browser.pressButton('Submit', () => {
        const result = browser.html('div')
        resolve(result)
      })
    })
  })
  // browser.tabs.closeAll()
  browser.window.close()
  browser.destroy()
  return val
}

我根本不知道如何退出或关闭此浏览器。

Lambda等待该对象并超时。你们有没有想过如何解决这个问题?甚至使用可以阻止lambda超时的解决方案。

是否有任何通用的方法可以从内存或lambda的事件循环中删除它?

PS。我尝试过使用context.callbackWaitsForEmptyEventLoop = false,但这并不适合我,因为所有其他Promise都没有在lambda中解决,基本上没有任何作用。

0 个答案:

没有答案