Почему второй then возвращает undefined?

const loadScript = src => {
      return new Promise((resolve, reject) => {
        let elem = document.createElement('script');
        elem.src = src; 

        elem.onload = () => resolve(src);
        elem.onerror = () => reject(new Error(`Ошибка загрузки ${src}`));

        document.head.append(elem);
      });
    };

    loadScript('https://code.jquery.com/jquery-3.5.1.js')
      .then(script => {
        console.log(`Скрипт ${script} успешно загружен`); 
        loadScript('https://code.jquery.com/jquery-migrate-3.3.2.js');
      })
      .then(script => console.log(script))

Почему в данном случае второй then возвращает indefined, а не путь файла?


Ответы (1 шт):

Автор решения: Серега Мангышев

Стрелочная функция опускает return, если это выполнено в одну строку либо эмитацию одной строки.

 const arr = ([1,2,3,4,5,6,7,8,9]  
.map(el => el)  
.filter(el => el<3));

В вашем случае функция ничего не вернула, ее результат она оставила себе!

→ Ссылка