Вы выполнили Обещание неправильно.Пожалуйста, изучите Обещания в ES5 для справок.Вы присвоили объект Promise своей переменной, которая является асинхронной.Он перешел к следующей строке, добавив сам объект вместо значения Обещания, потому что тогда значение не было разрешено. Вам нужно работать с этим значением, когда Обещание разрешается с использованием метода .then()
в Обещании.Вот ваш модифицированный метод TellTale, который работает с Обещанием:
function TellTale() {
let KnightName = swal("How do people call you, oh Noble Knight?",
{
content: "input",
}).then(function(value){
document.getElementById("Tale").innerHTML = "Once upon a
time, there lived a champion, noble Sir " + value + ".";
});
}
Мое объяснение может показаться немного сложным, но оно прояснится, когда вы немного изучите Обещания и то, как обрабатывать вещи при разрешении / отклонении.