Nightmare JS останавливается при использовании в функции пожарной базы - PullRequest
2 голосов
/ 28 марта 2019

Я пытаюсь сделать кое-что с NightmareJS из функции Firebase.Вот мой код (минимально проверяемый пример)

const functions = require('firebase-functions');
const admin = require('firebase-admin')
admin.initializeApp()
const Nightmare =  require('nightmare');

exports.helloWorld = functions.https.onRequest((request, response) => {
  const nightmare =  Nightmare()
  return nightmare.goto('https://apple.com')
                  .end()
                  .then(function() {
                     console.log('success')
                     response.status(200).send("Script successfully completed")
                  })
                  .catch(function(data) {
                     console.log('error')
                     response.status(400).send('something went wrong' + data)
                  })
 })

Этот код прекрасно работает, когда я тестирую функцию локально.Сценарий посещает страницу и затем вызывает предложение then().Однако, если я разверну и активирую функцию, она попадет на строку nightmare.goto, а затем остановится.Он не выдает ошибку (если это произойдет, он будет перехвачен предложением catch, и я получу ответ).Вместо этого это истекает после 60-х годов.Что там происходит?

Чтобы объяснить тем, кто не знаком с nightmareJS, end() превращает цепочку вызовов кошмара в обещание.Опять же, код работает локально, что является самой большой подсказкой.Я думал, что это может быть что-то с тем, что Firebase не разрешает исходящий трафик на бесплатных планах, но после обновления до блэйза проблема все еще существует: (

...