光纤中的空变量

时间:2014-08-08 21:20:13

标签: javascript node.js meteor

所以,我有一个fields变量,它已被正确初始化。我的目标是在光纤内部使用它。这是代码:

console.log(fields); //<--- Here it's OK
Fiber(function () {
    var qry = Connections.findOne({login:fields[1]});
    if (typeof(qry) === 'undefined') {
        console.log('INSERT');
        console.log(fields); //<--- Here, the variable "fields" is empty
        Connections.insert({
            login: fields[1],
            ip: fields[2],
            created_at: Date.now(),
            updated_at: Date.now(),
        });
    } else {
        console.log("UPDATE");
    }
}).run();

如何将变量fields的内容传递给光纤?

提前致谢。

2 个答案:

答案 0 :(得分:3)

这个应该有效:

var fields = /* whatever */;

Fiber(function (fields) {
  // ...
}).run(fields);

如果您想了解有关此look here的更多信息。

答案 1 :(得分:1)

不确定光纤是什么,但尝试将变量作为函数的参数传递:

console.log(fields); //<--- Here it's OK
Fiber(function (fields) {
    var qry = Connections.findOne({login:fields[1]});
    if (typeof(qry) === 'undefined') {
        console.log('INSERT');
        console.log(fields); //<--- Here, the variable "fields" is empty
        Connections.insert({
            login: fields[1],
            ip: fields[2],
            created_at: Date.now(),
            updated_at: Date.now(),
        });
    } else {
        console.log("UPDATE");
    }
}).run();