JavaScript数组丢失作用域且未传递到我的函数中

时间:2018-08-23 21:43:11

标签: javascript arrays scope

我正在根据TAFFYDB()查询创建一个数组(但是任何数组都可以)。

var ret=anaDataDB({"objID":"micro","objVal":1}).get();
console.log(ret.length);  // correctly shows 2
$("#submissionInput").fadeOut(function(){
  console.log(ret.length);  // correctly shows 2     
  $("#anaInputs").load("data/stubs/csaReport.html").promise().done(function(){
            console.log(ret.length);  // is undefined 

我尝试在函数调用中传递它

$("#submissionInput").fadeOut(function(){
    $("#anaInputs").load("data/stubs/csaReport.html").promise().done(function(ret){
        console.log(ret.length);  // shows 1 ??

我认为这是因为我使用了诺言或其他巫术。 为什么我失去了范围?

1 个答案:

答案 0 :(得分:0)

您确定不需要先将其传递给外部函数吗?像这样:

$("#submissionInput").fadeOut(function(ret){
    $("#anaInputs").load("data/stubs/csaReport.html").promise().done(function(ret){
        console.log(ret.length);  // shows 1 ??