2017-03-24 100 views
0

这颗流星服务器代码抱怨流星变量没有定义

Exception in callback of async function: ReferenceError: myConn is not defined

变量myConn在ddp.js定义和method.js使用,
任何想法,为什么,以及如何解决它? thx

//server/ddp.js 
let myConn = DDP.connect('http://localhost:5000'); 


//server/method.js 
myConn.call('myMethod', {obj},() => {}) 
+1

'myConn'是本地的'ddp.js'。你可以从它定义的文件中导出它,并将它导入到'method.js'中,或者通过删除'let' –

+0

@MichelFloyd使它成为一个全局变量,你应该把你的注释变成一个答案? – ghybs

回答

0

let将变量的作用域限制为使用它的块或语句。

var为本地整个函数或过程定义了一个变量。

要在多个文件之间全局定义一个变量并避免使用letvar,只需为其名称指定一个默认值即可。例如:

myVarName="";

+0

又名“全球范围的污染”,并不一定是坏事(这是Meteor管理进口之前的方式),但你应该小心。 – ghybs