Когда я запускаю код, я получаю ошибку
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;
};
Вероятно, функция тайм-аута имеет некоторую ошибку. Что я делаю неправильно?
Возможно, вы можете попробовать return Promise.resolve(data)
вместо этого, это вернет обещание, которое вам нужно.
mergePromise
не возвращаетPromise
.