Skulpt - обещание не вернулось правильно при разрешении
Я пытаюсь получить стандартный ввод от текстовой области, и я близок к тому, чтобы найти решение, но я обнаружил, что мое обещание неправильно возвращает значение.
function sInput() {
return new Promise(function(resolve,reject){
$("#outputField").on("keyup", function(e){
if (e.keyCode == 13){
console.log("test");
resolve("5")
resolve("random test");
}
})
})
}
Приведенный выше код - это то, что я имею до сих пор (который не возвращает "5" или "случайный тест"), но если я изменю функцию на
function sInput() {
return "5"
}
Тогда "5" правильно возвращается. Почему мое обещание не возвращает значение правильно? Это продолжение этого примера для более точной информации.
Больше код:
function runit() {
var prog = document.getElementById("inputField").value;
var mypre = document.getElementById("outputField");
mypre.innerHTML = '';
Sk.python3 = true;
Sk.pre = "outputField";
Sk.configure({ output:outf,
read:builtinRead,
inputfun: sInput,
inputfunTakesPrompt: true});
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());
});
}