我正在使用 Skulpt JavaScript 库(和 codemirror)创建一个基于 Web 的 python IDE。
当我从编辑器执行 python 代码时,其中包含几个打印语句,后跟一个输入语句,打印语句在输入输入之前不会执行,这不是预期的行为。
如何确保执行输入语句之前的代码?
这是我的 Skulpt KS 配置代码,在 runit 函数中:
function runit() {
var prog = myCodeMirror.getValue();
var mypre = document.getElementById("output");
mypre.innerHTML = '';
Sk.pre = "output";
Sk.configure({
output:outf,
read:builtinRead,
inputfun: function (prompt) {
return window.prompt(prompt);
},
inputfunTakesPrompt: true,
});
(Sk.TurtleGraphics || (Sk.TurtleGraphics = {})).target = 'mycanvas';
var myPromise = Sk.misceval.asyncToPromise(function() {
return Sk.importMainWithBody("<stdin>", false, prog, true);
});
myPromise.then(function(mod) {
console.log('success');
},
function(err) {
console.log(err.toString());
outf(err.toString());
});
}