JavaScript声明的全局变量不能在方法中分配

时间:2015-10-06 23:12:01

标签: javascript scope global-variables hoodie

我有一些JavaScript代码,我有一个我已在函数外声明的变量,但我似乎无法分配它。

我环顾四周,正在做一个普遍接受的事情,即在功能之外进行分配,但仍有问题。

有什么想法吗?

var numberPeopleSignedIn;

function setWaitTime(id, currentTimeToMinus){

var peopleAvailable = [];

  hoodie.store.findAll('barber')
  .done(function(object) {
      object.forEach(function(barber) {
      if (barber.statusInOut == "signedIn") {
        peopleAvailable.push(barber);
      }
      numberPeopleSignedIn = peopleAvailable.length;
    });

  });


console.log(numberPeopleSignedIn);  //This is returning undefined

}

1 个答案:

答案 0 :(得分:2)

findAll()正在返回一名代表。这意味着当.done()仍然未定义时,numberPeopleSignedIn函数之前正在调用console.log。