mergePromise (…). тогда это не функция

1

Когда я запускаю код, я получаю ошибку

mergePromise (...), то это не функция.

Я хочу знать, почему я получил эту ошибку.

const timeout = ms => new Promise((resolve, reject) => {
    setTimeout(() => {
        resolve();
    }, ms);
});

const ajax1 = () => timeout(2000).then(() => {
    console.log('1');
    return 1;
});

const ajax2 = () => timeout(1000).then(() => {
    console.log('2');
    return 2;
});

const ajax3 = () => timeout(2000).then(() => {
    console.log('3');
    return 3;
});

const mergePromise = ajaxArray => {
    const data=[];
    ajaxArray[0]().then(i=>data.push(i));
    timeout(1005).then(() => {
        ajaxArray[1]().then(i=>data.push(i));
    });
    timeout(10).then(() => {
        ajaxArray[2]().then(i=>data.push(i));
    });
    return data;
};

Вероятно, функция тайм-аута имеет некоторую ошибку. Что я делаю неправильно?

  • 3
    mergePromise не возвращает Promise .
  • 1
    Читать Promise.all
Показать ещё 1 комментарий
Теги:

1 ответ

0
Лучший ответ

Возможно, вы можете попробовать return Promise.resolve(data) вместо этого, это вернет обещание, которое вам нужно.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню