2016-09-15 25 views
0

私は、次のコードをtranspileしようとするたびに、私はエラーを受け取りタイピング:なぜ返さ観測可能

getRegisteredName(): Observable<string> { 
    return new Observable(observer => { 
     let registeredName: string = localStorage.getItem('RegisteredName'); 

     if (registeredName) { 
      observer.next(registeredName); 

      observer.complete(); 
     } 
     else { 
      observer.error(null); 
     } 
    }); 
} 

TypeScript error: /Users/development/Desktop/Source/MyApp/MyApp/app/providers/register-service/register-service.ts(30,12): Error TS2322: Type 'Observable<{}>' is not assignable to type 'Observable<string>'. 
    Type '{}' is not assignable to type 'string'. 

をしかし、私は自分のコードに何かを(明らかに)見ることができませんこの関数を拒否するTypeScriptの蒸散器?

+1

'新しいObservable (..)を返そうとしました'あなたはTSコンパイラに伝える必要がありますか? –

+0

これはそれだった - ありがとう:) – keldar

答えて

1

あなたは返却しようとしている観測のタイプを指定した:

Observable<string> 

をしかし、TSは本当にあなたが本当に戻ってきているものを、この時点では知りません。

return new Observable<string> 
+0

伝説 - ありがとう!あなたが言われるまで明白ではない、それからあなたはそれがどれほど明白であるかを理解する。 – keldar

+0

素晴らしい!うまく動作する場合は答えを受け入れてください。ありがとう! – Baumi

+0

私は持っていたと思ったが、私は見なかった!今行った:) – keldar

関連する問題