Ошибка SendGrid sgMail.send при использовании coffeescript meteor.Отлично работает как чистый JS - PullRequest
0 голосов
/ 03 марта 2019

Вызов sgMail.send (msg) выдает ошибку, когда я пишу код в Coffee.Если я оставлю как встроенный JS, он работает нормально.

Это ошибка:

I20190305-07:32:50.195(-8)? Exception while invoking method 'sendEmail' RangeError: Maximum call stack size exceeded
I20190305-07:32:50.196(-8)?     at Array.forEach (<anonymous>)
I20190305-07:32:50.196(-8)?     at Object.EJSON.clone.v [as clone] (packages/ejson/ejson.js:594:18)
I20190305-07:32:50.196(-8)?     at Object.keys.forEach.key (packages/ejson/ejson.js:595:22)
I20190305-07:32:50.196(-8)?     at Array.forEach (<anonymous>)
I20190305-07:32:50.196(-8)?     at Object.EJSON.clone.v [as clone] (packages/ejson/ejson.js:594:18)
I20190305-07:32:50.196(-8)?     at Object.keys.forEach.key (packages/ejson/ejson.js:595:22)
I20190305-07:32:50.196(-8)?     at Array.forEach (<anonymous>)
I20190305-07:32:50.196(-8)?     at Object.EJSON.clone.v [as clone] (packages/ejson/ejson.js:594:18)
I20190305-07:32:50.196(-8)?     at Object.keys.forEach.key (packages/ejson/ejson.js:595:22)
I20190305-07:32:50.196(-8)?     at Array.forEach (<anonymous>)
I20190305-07:32:50.196(-8)?     at Object.EJSON.clone.v [as clone] (packages/ejson/ejson.js:594:18)
I20190305-07:32:50.196(-8)?     at Object.keys.forEach.key (packages/ejson/ejson.js:595:22)
I20190305-07:32:50.197(-8)?     at Array.forEach (<anonymous>)
I20190305-07:32:50.197(-8)?     at Object.EJSON.clone.v [as clone] (packages/ejson/ejson.js:594:18)
I20190305-07:32:50.197(-8)?     at Object.keys.forEach.key (packages/ejson/ejson.js:595:22)
I20190305-07:32:50.197(-8)?     at Array.forEach (<anonymous>)
I20190305-07:32:50.197(-8)?  => awaited here:
I20190305-07:32:50.197(-8)?     at Promise.await (/Users/paulpedrazzi/.meteor/packages/promise/.0.11.2.a0r1i6.m5ai8++os+web.browser+web.browser.legacy+web.cordova/npm/node_modules/meteor-promise/promise_server.js:60:12)
I20190305-07:32:50.197(-8)?     at Server.apply (packages/ddp-server/livedata_server.js:1634:14)
I20190305-07:32:50.197(-8)?     at Server.call (packages/ddp-server/livedata_server.js:1603:17)
I20190305-07:32:50.197(-8)?     at MethodInvocation.sendEmail (server/main.coffee:77:12)
I20190305-07:32:50.197(-8)?     at maybeAuditArgumentChecks (packages/ddp-server/livedata_server.js:1767:12)
I20190305-07:32:50.197(-8)?     at DDP._CurrentMethodInvocation.withValue (packages/ddp-server/livedata_server.js:719:19)
I20190305-07:32:50.198(-8)?     at Meteor.EnvironmentVariable.EVp.withValue (packages/meteor.js:1304:12)
I20190305-07:32:50.198(-8)?     at DDPServer._CurrentWriteFence.withValue (packages/ddp-server/livedata_server.js:717:46)
I20190305-07:32:50.198(-8)?     at Meteor.EnvironmentVariable.EVp.withValue (packages/meteor.js:1304:12)
I20190305-07:32:50.198(-8)?     at Promise (packages/ddp-server/livedata_server.js:715:46)
I20190305-07:32:50.198(-8)?     at new Promise (<anonymous>)
I20190305-07:32:50.198(-8)?     at Session.method (packages/ddp-server/livedata_server.js:689:23)
I20190305-07:32:50.198(-8)?     at packages/ddp-server/livedata_server.js:559:43

1 Ответ

0 голосов
/ 04 марта 2019

Я не думаю, что const s - это ваша проблема.В Coffeescript вы можете просто удалить их.Удаление const в JS не может нарушить ранее запущенный код (хотя их добавление может).Вот ваш пример, преобразованный в coffeescript:

sgMail = require('@sendgrid/mail')
sgMail.setApiKey(process.env.SENDGRID_API_KEY)
msg = 
  to: 'test@example.com'
  from: 'test@example.com'
  subject: 'Sending with SendGrid is Fun'
  text: 'and easy to do anywhere, even with Node.js'
  html: '<strong>and easy to do anywhere, even with Node.js</strong>'

sgMail.send(msg)

Здесь вы можете увидеть javascript, который он конвертирует в

Ошибка выглядит как бесконечный цикл или вызов рекурсивной функции.

Если вы преобразовали код JS в Coffeescript, проверьте отступ, так как Coffeescript использует это для блоков, а не фигурных скобок.

Если вы можете выяснить, из каких строк исходит ошибка, вы можетеотправьте этот код, и откуда он называется.

...