Reputation: 1990
There are quit a lot of questions about how to return value from promises, but I don't see any that answers my question.
this is my function:
function f1(arr, num) {
return new Promise(function(resolve, reject) {
resolve(data);
}).then(function(data){
f2.then(function(d){
// how to return d
}).catch(...);
function f2(data){
return new Promise(function(resolve, reject){
data = data + 1
resolve (data);
});
};
})
.catch(function(){...});
}
How can I return d
in this configuration ?
Upvotes: 1
Views: 1285
Reputation: 665344
I think you are looking for
function f1(arr, num) {
return new Promise(function(resolve, reject) {
resolve(data);
}).then(function(data){
return f2(data).then(function(d){
// ^^^^^^ don't forget this
// ^^^^^^ call the function
return d;
// ^^^^^^^^^ simply and literally return d
}).catch(...);
function f2(data){
return new Promise(function(resolve, reject){
data = data + 1
resolve (data);
});
};
})
.catch(function(){...});
}
or written better as
function f1(arr, num) {
return Promise.resolve(data)
.then(f2)
.catch(function(){...});
}
function f2(data){
return new Promise(function(resolve, reject){
… // do some async work
resolve(data + 1);
});
}
Upvotes: 2