Как говорят ошибки, вы назначаете Object
для string
.
Попробуйте заменить свой код следующим образом:
public login(userData: any): Observable<string> {
return this.http
.post("/api/users/login", userData)
.map((token: string) => this.saveToken(token));
}
private saveToken(token: string): string {
localStorage.setItem("car_auth", token);
return token;
}
Я столкнулся с аналогичной ситуацией на днях при использовании Повышения. Синхронизирующие классы межпроцесса: а именно, класс условия. Это реализовано "универсальным" способом, но способ, которым это было сделано, состоит в том, чтобы использовать пользовательскую спин-блокировку, которая очень неэффективна (на OS X, по крайней мере). Во всех отношениях, это сделало синхронизирующие классы бесполезными.
По моему опыту, библиотека Interprocess является довольно незрелой. Я использую его для общей памяти, и это действительно работает вполне прилично, но существуют некоторые грубые края, и я должен был бездельничать некоторые "недостающие возможности", такие как динамичное изменение размеров общей памяти и т.д.
Таким образом, не ожидайте, что эта библиотека будет серебряной пулей просто все же. Это хорошо, но не исключительно в это время.