javascript - 了解 Javascript 编译器,也许还有 Meteor JS

标签 javascript meteor

在我的 Meteor 应用程序的服务器文件夹中,我有 server.js 和 helper.js

在 helper.js 中我有例如:

import swisseph from 'swisseph'
SWISSEPH = {}
SWISSEPH.SWE_HOUSES_EX = Meteor.wrapAsync(swisseph.swe_houses_ex);

在我的 server.js 文件中,如果我直接在函数内传递 SWISSEPH.SWE_HOUSES_EX

const calc_longitudes_of_upagrahas = ( SWISSEPH.SWE_HOUSES_EX, flag,latitude, longitude, array_of_juls , index, obj ) => {};

我收到此错误:

While processing files with ecmascript (for target os.osx.x86_64):
server/server.js:488:43: Invalid left-hand side in arrow function parameters (488:43)

但是如果我首先在另一个变量或 const 中设置 SWISSEPH.SWE_HOUSES_EX 那么它就可以工作:

const x = SWISSEPH.SWE_HOUSES_EX  //don't know why if I use SWISSEPH.SWE_HOUSES_EX directly I get an error

const calc_longitudes_of_upagrahas = ( x, flag,latitude, longitude, array_of_juls , index, obj ) => {};

这是什么原因呢? 对我来说这是违反直觉的......

最佳答案

您的代码不会调用函数,而是定义一个新函数:

const foo = (x, y, z) => {}

此语法创建一个名为 foo 的新函数,它采用三个参数。因此,您的第二个代码示例可以工作,因为 x 被解释为参数;第一个失败,因为 SWISSEPH.SWE_HOUSES_EX 不是有效的参数名称。

关于javascript - 了解 Javascript 编译器,也许还有 Meteor JS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48365253/

相关文章:

javascript - 当 javascript 失败时提醒 Javascript 错误?

javascript - 使用 JavaScript 进行数据分析?

javascript - 在 Meteor 中使用 Jquery 的按钮事件问题?

node.js - wkhtmltopdf:没有这样的文件或目录

mongodb - 使用 Meteor Mongo 2.6.7 进行文本搜索显示 "text search not enabled"

javascript - 可拖动效果第二次不显示

javascript - 如果 window.location.host 属性等于特定值,如何加载不同的文档

javascript - meteor 按钮上的切换图标

Meteor "meteor run iOS"无法获取平台 ios : undefined

javascript - 为什么需要使用 jasmine 的 runs 和 waitFor 函数?