import org.mozilla.javascript.Context;
import org.mozilla.javascript.Function;
import org.mozilla.javascript.Scriptable;
import org.mozilla.javascript.ScriptableObject;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class DataThrottlingExample {
public static void main(String[] args) throws IOException {
Context rhino = Context.enter();
try {
FileReader reader = new FileReader("path/to/lodash.debounce.js");
rhino.evaluateReader(ScriptableObject.getDefaultContextFactory(), reader, "lodash.debounce.js", 1, null);
reader.close();
String debounceFunction = "var throttleFunc = _.debounce(function() {"
+ "}, 500);";
rhino.evaluateString(getScope(), debounceFunction, "DebounceFunction", 1, null);
for (int i = 0; i < 10; i++) {
rhino.evaluateString(getScope(), "throttleFunc();", "ThrottledOperation" + i, 1, null);
}
} finally {
Context.exit();
}
}
private static Scriptable getScope() {
Context rhino = Context.getCurrentContext();
Scriptable scope = rhino.initStandardObjects();
return scope;
}
}