[英]Promise.all is not displaying the data
I am new to promises and I want to return the data from classes as promises. 我对Promise是陌生的,我想将来自类的数据作为Promise返回。 I have two classes with two function in each class.
我有两个班,每个班有两个功能。 What I am doing each function is returning a promise from a class, but I am unable to execute promise.all.
我正在做的每个功能都从类返回一个promise,但是我无法执行promise.all。 Below is the code
下面是代码
Class1
class TestClass {
firstPromise() {
return new Promise((resolve, reject) => {
resolve('return first promise')
})
}
secondPromise() {
return new Promise((resolve, reject) => {
resolve('return second promise')
})
}
}
module.exports.TestClass = TestClass;
Class2
class TestClass1 {
firstPromise() {
return new Promise((resolve, reject) => {
resolve('return first promise')
})
}
secondPromise() {
return new Promise((resolve, reject) => {
resolve('return second promise')
})
}
}
module.exports.TestClass1 = TestClass1;
Main function
let data = req.body;
let test1Object;
let testObject;
let testParam;
let testParam1;
if (data.hasOwnProperty('param1')) {
test1Object = new test1.TestClass1();
test1Object.firstPromise().then((data)=>{
testParam1 = test1Object.secondPromise();
});
}
if (data.hasOwnProperty('param2')) {
testObject = new test.TestClass();
testObject.firstPromise().then((data)=>{
testParam = testObject.secondPromise()
});
}
Promise.all([testParam,testParam1]).then((data)=>{
console.log(data)
});
it displays [ undefined, undefined ] 它显示[undefined,undefined]
When you're executing Promise.all()
, the promises are not yet resolved, so testParam
and testParam1
are undefined
. 当您执行
Promise.all()
,承诺尚未解决,因此testParam
和testParam1
是undefined
。 I think you should assign the first promise to testParam1
: 我认为您应该将第一个承诺分配给
testParam1
:
testParam1 = test1Object.firstPromise().then(data => test1Object.secondPromise());
and similarly the second to testParam
: 同样是
testParam
的第二个:
testParam = testObject.firstPromise().then(data => testObject.secondPromise());
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.