0

我正在使用 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()); 
   });
}
4

0 回答 0