node.js - Använda ES6 Promises i Mongoose-kod
Jag försöker använda ES6 Promises för Mongoose ODM i TypeScript.
Jag har följande rad
mongoose.Promise = Promise;
Vilket ger mig följande fel:
error TS2322: Type 'PromiseConstructor' is not assignable to type 'typeof Promise'.
Type 'Promise<any>' is not assignable to type 'Promise<any>'.
Property 'end' is missing in type 'Promise<any>'.
Svar #1
Du tilldelar ES6 Native promise till mongoose promise:
mongoose.Promise = Promise;
Du får felet
Egenskapen 'end' saknas i typen 'Promise'.
Eftersom den inbyggda Promise saknar egenskapen end som är närvarande i mongoose Promise (dokumentation https://www.npmjs.com/package/mpromise).
Tillfällig lösning
Du kan antingen:
- Hacka mongoose-definitionen för att ljuga och säga att det är en
ES6 Promiseistället förmpromise Eller undertryck felet:
mongoose.Promise = Promise as any;Eller inte göra detta alls :)
