简体   繁体   中英

javascript - pass data from one function to another

I have two functions. I want this function:

function indentSpace(s, n){
  return ((new Array(n+1)).join(s));
}

To get it's parameters from this function, while allowing this function to continue:

 function onHandle(line, report) {
  var input = $.trim(line);
  if (parensBalanced(input) == false) {
    indentSpace('.',input.length);
    controller.continuedPrompt = true;
  } else if (parensBalanced(input) == true) {
    controller.continuedPrompt = false;
    if (doCommand(input)) {
      report();
      return;
    }

    ...

  }
}

So that the 1st function gets used here, as the value for continuedPromptLabel :

$(document).ready(function() {
controller = $("#console").console({
  continuedPromptLabel: indentSpace,
  completeHandle: onComplete,
  });
});

I've tried it several different ways, and it seems that once I get a value for indentSpace , it also returns that value in its containing function - and breaks other stuff.

Cheers!

So you want indentspace to essentially have a closure on its parameters from being called asynchronously from onHandle, such that onHandle is running freely, but then you want that indentspace with those parameters to be used elsewhere? I don't think that's possible.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM