【发布时间】:2018-01-23 19:21:34
【问题描述】:
我的代码调用一个 Jupyter Notebook 例程 (kernel.execute),它接受 Python 命令和回调函数,但该例程不返回 Promise。
是否可以在循环中异步调用 kernel.execute 并等待每个回调?
// these functions print timestamps to the console
var function_1 = {
iopub: {
output: parse_json_from_python_and_stash_something_in_object_1();
}
}
var function_n = {
iopub: {
output: parse_json_from_python_and_stash_something_in_object_n();
}
}
var objects_to_populate = {
object_1: function_1,
object_n: function_n
}
handler.on('click', function() {
$.each(objects_to_populate, function(obj, cb) {
let arg = '\'' + "Hello from Javascript" + '\'';
let command = `print(${arg})`;
// Jupyter Notebook function; calls Python (slow)
kernel.execute(command, cb);
}
ugly_sleep_hack();
// Do something here after every object has been populated
print_timestamp_to_console("Finished");
}
【问题讨论】:
标签: javascript python asynchronous promise jupyter-notebook