Ich bin mit WebRTC in Angular 2.Fehler TS2339: Das Objekt 'fangen' existiert nicht auf Typ 'PromiseLike <void>'
In Typoskript 1.x ich diese erfolgreich nutzen können.
navigator.mediaDevices.getUserMedia(constraints)
.then(myStream => {
this.myStream = myStream;
})
.catch(error => {
console.log(error);
});
Aber nach zu Typoskript 2.x aktualisieren, ich habe diesen Fehler in meinem Terminal, wenn ich npm run watch
laufen:
Fehler TS2339: Das Objekt 'fangen' existiert nicht auf Typ ' PromiseLike '.
Meine IDE WebStore zeigt rot zu:
Ich habe bereits npm install --save-dev @types/webrtc
.
Meine tsconfig.json Datei:
{
"compilerOptions": {
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"target": "es5",
"module": "commonjs",
"removeComments": true,
"sourceMap": true,
"lib": ["es6", "dom"],
"types": [
"body-parser",
"compression",
"express",
"express-session",
"mime",
"node",
"serve-static",
"webrtc",
"ws"
]
},
"include": [
"node_modules/@types/**/*.d.ts",
"src/**/*.ts"
],
"exclude": [
"node_modules",
"!node_modules/@types/**/*.d.ts"
],
"compileOnSave": false,
"buildOnSave": false,
"atom": {
"rewriteTsconfig": false
}
}
I universal-starter als Start verwenden, so meine nodemon.json und package.json mit ihnen identisch sind, nur mehr Pakete hat.
Wie kann ich diesen Fehler loswerden?
Was gibt 'getUserMedia' zurück? –
@torazaburo gibt es zurück 'Promise' –
@HongboMiao Bitte posten Sie die vollständige Fehlermeldung (mit Call-Stack). Ich kann diesen Fehler nicht reproduzieren, wenn ich dein Beispiel ausführe. 'getUserMedia.then' gibt in meinem Setup ein' Versprechen' und kein 'PromiseLike' zurück. Dadurch bekomme ich keinen Fehler. Tritt dieser Fehler an einer anderen Stelle in Ihrem "echten Code" auf oder erhalten Sie diesen Fehler mit diesem genauen Code? – maiermic