У меня есть файл myClass.js, в котором есть класс с функцией.
class MyClass {
func1(param1, param2) {
return new Promise((resolve, reject) => {
resolve(param1+param2);
})
}
}
const myObj = new MyClass();
module.exports = myObj;
Затем я вызываю эту функцию из другого файла и передаю ее через Promise.all.
const myObj = require('myClass.js')
let funcPromise1 = myObj.func1(1, 2);
let funcPromise2 = myObj.func1(2, 3);
let funcPromise3 = myObj.func1(3, 4);
Promise.all([funcPromise1, funcPromise2, funcPromise3])
.then(values=> {
console.log(values)
});
Проблема в том, что func1 вызывается, когда я присваиваю его переменной.
Я мог бы обернуть его в другое обещание, но это похоже на анти-шаблон.
let funcPromise1 = new Promise((resolve, reject) => { myObj.func1(1, 2).then(sum=>{resolve(sum)}).catch(err=>{reject(err)});
Я мог бы просто поместить функцию в обещание всем, но ей стало трудно следовать.
Как я не могу вызвать эту функцию сразу?