Promise.all not waiting for next promise JS
up vote
-1
down vote
favorite
I am trying to query dynamoDb using promise. But when I do promise.all, it is not waiting for nested promises. I am not sure what might be wrong here.
var promises =
items.itemsList.forEach(function (item) {
// more code fillings params
var promise = dynamodb.query(params).promise()
.then(data => {
// Do more stuff with data
if (typeof data.LastEvaluatedKey != "undefined") {
params.ExclusiveStartKey = data.LastEvaluatedKey;
// Below is nested promise
return dynamodb.query(params).promise();
}
});
promises.push(promise);
});
return Promise.all(promises)
.then( data => {
console.log("all promise succeed");
}, error => {
console.log("error");
});
I am expecting promise.all to wait for all nested promised to complete before it returns. But when I run the code, promise.all just wait for main promises and does not wait for nested promise.
javascript node.js amazon-web-services promise dynamodb-queries
|
show 10 more comments
up vote
-1
down vote
favorite
I am trying to query dynamoDb using promise. But when I do promise.all, it is not waiting for nested promises. I am not sure what might be wrong here.
var promises =
items.itemsList.forEach(function (item) {
// more code fillings params
var promise = dynamodb.query(params).promise()
.then(data => {
// Do more stuff with data
if (typeof data.LastEvaluatedKey != "undefined") {
params.ExclusiveStartKey = data.LastEvaluatedKey;
// Below is nested promise
return dynamodb.query(params).promise();
}
});
promises.push(promise);
});
return Promise.all(promises)
.then( data => {
console.log("all promise succeed");
}, error => {
console.log("error");
});
I am expecting promise.all to wait for all nested promised to complete before it returns. But when I run the code, promise.all just wait for main promises and does not wait for nested promise.
javascript node.js amazon-web-services promise dynamodb-queries
Illegal return statement? Is this in a function?
– Electrox Mortem
Nov 10 at 20:53
Other than missing areturn
forelse
inside firstthen()
your code looks right structurally
– charlietfl
Nov 10 at 20:56
1
@ElectroxMortem - no. this function is called from an async function. and I am doing await on this function
– Anup
Nov 10 at 21:03
1
@ElectroxMortem - Yes, I am not awaiting inside this function, I am awaiting while calling this function from some other async function.
– Anup
Nov 10 at 21:12
1
Then, please delete your question since it is no longer relevant or correct.
– jfriend00
Nov 10 at 23:38
|
show 10 more comments
up vote
-1
down vote
favorite
up vote
-1
down vote
favorite
I am trying to query dynamoDb using promise. But when I do promise.all, it is not waiting for nested promises. I am not sure what might be wrong here.
var promises =
items.itemsList.forEach(function (item) {
// more code fillings params
var promise = dynamodb.query(params).promise()
.then(data => {
// Do more stuff with data
if (typeof data.LastEvaluatedKey != "undefined") {
params.ExclusiveStartKey = data.LastEvaluatedKey;
// Below is nested promise
return dynamodb.query(params).promise();
}
});
promises.push(promise);
});
return Promise.all(promises)
.then( data => {
console.log("all promise succeed");
}, error => {
console.log("error");
});
I am expecting promise.all to wait for all nested promised to complete before it returns. But when I run the code, promise.all just wait for main promises and does not wait for nested promise.
javascript node.js amazon-web-services promise dynamodb-queries
I am trying to query dynamoDb using promise. But when I do promise.all, it is not waiting for nested promises. I am not sure what might be wrong here.
var promises =
items.itemsList.forEach(function (item) {
// more code fillings params
var promise = dynamodb.query(params).promise()
.then(data => {
// Do more stuff with data
if (typeof data.LastEvaluatedKey != "undefined") {
params.ExclusiveStartKey = data.LastEvaluatedKey;
// Below is nested promise
return dynamodb.query(params).promise();
}
});
promises.push(promise);
});
return Promise.all(promises)
.then( data => {
console.log("all promise succeed");
}, error => {
console.log("error");
});
I am expecting promise.all to wait for all nested promised to complete before it returns. But when I run the code, promise.all just wait for main promises and does not wait for nested promise.
var promises =
items.itemsList.forEach(function (item) {
// more code fillings params
var promise = dynamodb.query(params).promise()
.then(data => {
// Do more stuff with data
if (typeof data.LastEvaluatedKey != "undefined") {
params.ExclusiveStartKey = data.LastEvaluatedKey;
// Below is nested promise
return dynamodb.query(params).promise();
}
});
promises.push(promise);
});
return Promise.all(promises)
.then( data => {
console.log("all promise succeed");
}, error => {
console.log("error");
});
var promises =
items.itemsList.forEach(function (item) {
// more code fillings params
var promise = dynamodb.query(params).promise()
.then(data => {
// Do more stuff with data
if (typeof data.LastEvaluatedKey != "undefined") {
params.ExclusiveStartKey = data.LastEvaluatedKey;
// Below is nested promise
return dynamodb.query(params).promise();
}
});
promises.push(promise);
});
return Promise.all(promises)
.then( data => {
console.log("all promise succeed");
}, error => {
console.log("error");
});
javascript node.js amazon-web-services promise dynamodb-queries
javascript node.js amazon-web-services promise dynamodb-queries
edited Nov 10 at 20:57
asked Nov 10 at 20:50
Anup
1142314
1142314
Illegal return statement? Is this in a function?
– Electrox Mortem
Nov 10 at 20:53
Other than missing areturn
forelse
inside firstthen()
your code looks right structurally
– charlietfl
Nov 10 at 20:56
1
@ElectroxMortem - no. this function is called from an async function. and I am doing await on this function
– Anup
Nov 10 at 21:03
1
@ElectroxMortem - Yes, I am not awaiting inside this function, I am awaiting while calling this function from some other async function.
– Anup
Nov 10 at 21:12
1
Then, please delete your question since it is no longer relevant or correct.
– jfriend00
Nov 10 at 23:38
|
show 10 more comments
Illegal return statement? Is this in a function?
– Electrox Mortem
Nov 10 at 20:53
Other than missing areturn
forelse
inside firstthen()
your code looks right structurally
– charlietfl
Nov 10 at 20:56
1
@ElectroxMortem - no. this function is called from an async function. and I am doing await on this function
– Anup
Nov 10 at 21:03
1
@ElectroxMortem - Yes, I am not awaiting inside this function, I am awaiting while calling this function from some other async function.
– Anup
Nov 10 at 21:12
1
Then, please delete your question since it is no longer relevant or correct.
– jfriend00
Nov 10 at 23:38
Illegal return statement? Is this in a function?
– Electrox Mortem
Nov 10 at 20:53
Illegal return statement? Is this in a function?
– Electrox Mortem
Nov 10 at 20:53
Other than missing a
return
for else
inside first then()
your code looks right structurally– charlietfl
Nov 10 at 20:56
Other than missing a
return
for else
inside first then()
your code looks right structurally– charlietfl
Nov 10 at 20:56
1
1
@ElectroxMortem - no. this function is called from an async function. and I am doing await on this function
– Anup
Nov 10 at 21:03
@ElectroxMortem - no. this function is called from an async function. and I am doing await on this function
– Anup
Nov 10 at 21:03
1
1
@ElectroxMortem - Yes, I am not awaiting inside this function, I am awaiting while calling this function from some other async function.
– Anup
Nov 10 at 21:12
@ElectroxMortem - Yes, I am not awaiting inside this function, I am awaiting while calling this function from some other async function.
– Anup
Nov 10 at 21:12
1
1
Then, please delete your question since it is no longer relevant or correct.
– jfriend00
Nov 10 at 23:38
Then, please delete your question since it is no longer relevant or correct.
– jfriend00
Nov 10 at 23:38
|
show 10 more comments
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53243276%2fpromise-all-not-waiting-for-next-promise-js%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Illegal return statement? Is this in a function?
– Electrox Mortem
Nov 10 at 20:53
Other than missing a
return
forelse
inside firstthen()
your code looks right structurally– charlietfl
Nov 10 at 20:56
1
@ElectroxMortem - no. this function is called from an async function. and I am doing await on this function
– Anup
Nov 10 at 21:03
1
@ElectroxMortem - Yes, I am not awaiting inside this function, I am awaiting while calling this function from some other async function.
– Anup
Nov 10 at 21:12
1
Then, please delete your question since it is no longer relevant or correct.
– jfriend00
Nov 10 at 23:38