Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

calling a async function inside then [duplicate]

I have a piece of code that looks like this:

func().then(function (result){
   var a = func1(result);
   func2(a).then(function(result1){
    ////
   }
}

As you can see func returns a promise, and in then part we call another func1 which also returns a promise. Is it possible to chain the promise returned from func2 with the promise of then, and somehow get ride of the nested functions in the second then.

like image 327
Arash Avatar asked Feb 10 '23 03:02

Arash


1 Answers

The return value inside a then() function is used as a promise value itself. So you can easily return the new promise and keep on chaining here:

func()
  .then(function (result){
    var a = func1(result);
    return func2(a);
  })
  .then(function(result1){
    ////
  })

See 2.2.7 and 2.3.2 of the Promise A+ Spec.

like image 67
Sirko Avatar answered Feb 26 '23 16:02

Sirko