meteor - SendGrid sgMail.send 使用咖啡脚本流星的错误。作为纯 JS 工作正常
问题描述
当我在 Coffee 中编码时,sgMail.send(msg) 调用会产生错误。如果我离开的是嵌入式 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
解决方案
我不认为const
s 是你的问题。在 Coffeescript 中,您可以删除它们。在 JS 中删除const
不能破坏以前运行的代码(尽管添加它们可以)。这是您转换为咖啡脚本的示例:
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)
该错误看起来像一个无限循环或递归函数调用。
如果您将 JS 代码转换为 Coffeescript,请检查您的缩进,因为 Coffeescript 将其用于块而不是大括号。
如果您可以找出错误来自哪一行,您可以发布该代码以及调用它的位置。
推荐阅读
- redux - 注销时如何重置redux store?
- vba - 在两个比较范围内显示单元格值匹配的地址
- python - 如何在python中使用OpenCV拼接多个随机顺序的图像?
- dataframe - Holoviews 多边形输入
- javascript - 如何从javascript中的json数组中删除双引号
- c - 在c代码中取4位数字
- google-app-engine - 将 App Engine Flex 限制为仅在没有 App Engine 防火墙的情况下进行内部访问?
- cognos - Cognos 条形图第二个轴条与第一个轴条重叠
- sql-server - 如何优化存储过程中的游标
- typescript - webpack找不到src,但它不应该在寻找它