Какова причина этой асинхронной ошибки и почему она зафиксирована с заблокированной переменной constJavascript

Форум по Javascript
Ответить Пред. темаСлед. тема
Anonymous
 Какова причина этой асинхронной ошибки и почему она зафиксирована с заблокированной переменной const

Сообщение Anonymous »

Я читал через асинхронную главу программирования красноречивого JavaScript и наткнулся на эту проблему с асинхронной ошибкой. Решение, предложенное здесь, заключалось в том, чтобы сделать .join () в конце, но я наткнулся на другое решение, используя заблокированную общеречие Const. Проблема в том, что я не могу выяснить, почему она исправляет ошибку, если кто -то может предложить объяснение, что это будет очень оценено. < /P>

Код: Выделить всё

const resolveName = (fruitname) => {
return new Promise((resolve) => {
resolve(fruitname);
});
};

async function countLetters(fruitList) {
let result = "";

await Promise.all(
fruitList.map(async (fruit) => {
result += fruit + ": " + (await resolveName(fruit)).length + "\n";

// Fix: storing the string into a variable fixes this.
// const s = fruit + ": " + (await resolveName(fruit)).length + "\n";
// result += s;
})
);

return result;
}

const arr = ["apple", "banana", "cherry"];
const p = countLetters(arr);
p.then((r) => console.log(r));
< /code>
Я попытался отладки и просмотреть, так что для решения. Ожидаемый и фактический вывод равен ниже: < /p>
Ожидаемое:
apple: 5 banana: 6 cherry: 6 < /code> < /p>
Actual:
cherry: 6

Вот ссылка на выполнение, которая воспроизводит ошибку.

Подробнее здесь: https://stackoverflow.com/questions/794 ... -scoped-co
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Javascript»