javascript - Bluebird में कार्यप्रणाली को पकड़ने में त्रुटि प्रकार



ecmascript-6 (1)

मेरे पास एक कस्टम त्रुटि श्रेणी है:

class NetworkError extends Error {
  constructor() {
    super('Network Error');
    this.name = 'NetworkError';
  }
}

और मैं इसे विशेष रूप से संभाल करना चाहता हूं:

import {NetworkError} from '../../common/errors';
someFunc().catch(NetworkError, err => {
  // this is missed
}).catch(err => {
  // this is hit
});

लेकिन यह मेरे कस्टम कैच को लंघन और सामान्य कैच मार रहा है। अगर मैं इसे बदलता हूं, तो यह काम करता है:

someFunc().catch({name: 'NetworkError'}, err => {
  // this is hit
}).catch(err => {
  // this is missed
});

जाहिर है पहला रास्ता प्राथमिकता है मुझे यहां क्या समझ नहीं आ रहा है?






bluebird