How can I tell if an object is an Angular $q promise?

后端 未结 3 2085
天命终不由人
天命终不由人 2021-01-18 18:03

I have a pre-existing non-Angular API library in my project. It has a .request method which returns jQuery.Deferred promises. I created a simple Angular service

3条回答
  •  -上瘾入骨i
    2021-01-18 18:23

    My current solution is to use instanceof:

    var AngularPromise = $q.resolve().constructor;
    
    console.log($q.resolve() instanceof AngularPromise);  // true
    

    This guarantees to return true iff the object is indeed an Angular Promise.

    Demo: https://jsfiddle.net/DerekL/cmzp7ovj/

提交回复
热议问题