Я пытаюсь использовать Promise.all, чтобы выполнить пару сетевых вызовов, а затем сообщить мне, когда они все закончили.В моем примере у меня есть три обещания.Обещания возвращаются из разных объектов, но два из них имеют одинаковую сигнатуру метода.Первое обещание никогда не выполняется, но второе обещание вызывается дважды.Это работает, если я изменяю имя одного из методов, но количество параметров не имеет значения.Пример кода:
const test = {};
test.ObjectOne = () => {
aMethod = (paramOne, paramTwo) => new Promise((resolve, reject) => {
resolve("Method one");
});
bMethod = (paramOne, paramTwo) => new Promise((resolve, reject) => {
resolve("Method one two");
});
return this;
};
test.ObjectTwo = () => {
aMethod = (paramOne, paramTwo) => new Promise((resolve, reject) => {
resolve("Method two");
});
return this;
};
const objectOne = test.ObjectOne();
const objectTwo = test.ObjectTwo();
Promise.all([
objectOne.aMethod(1, 2),
objectOne.bMethod(1, 3),
objectTwo.aMethod(1, 2),
]).then((responses) => {
console.log(responses);
});
Я ожидаю, что результат будет:
["Method one", "Method one two", "Method two"]
Но фактический результат:
["Method two", "Method one two", "Method two"]
Что такоевопрос, который я вижу?
С наилучшими пожеланиями