tns 2.3.0
我已经定义了一个用户界面:
export interface User {
name: string,
pictureUrl: string,
coverUrl: string
}
chat.service:
@Injectable()
export class ChatService {
constructor(private http: Http) {}
getChat() {
let headers = new Headers();
headers.append("Authorization", "Bearer " + Config.token);
return this.http.get(Config.apiUrl + "/chat", {
headers: headers
})
.map(res => res.json())
.map(res => {
console.log("Chat:")
console.log(res)
console.log(res.participants.me.name)
let chat_data = res;
let me : User = {
name: chat_data.participants.me.name,
pictureUrl: chat_data.participants.me.pictureUrl,
coverUrl: chat_data.participants.me.coverUrl
};
let other : User = {
name: chat_data.participants.other.name,
pictureUrl: chat_data.participants.other.pictureUrl,
coverUrl: chat_data.participants.other.coverUrl
};
let messages : Message[] = chat_data.messages;
let chat : Chat = {
participants : {
me : me,
other: other
},
messages : messages
}
return chat;
})
.catch(this.handleErrors);
handleErrors(error: Response) { //line 58
console.log(JSON.stringify(error.json()));
return Observable.throw(error);
}
}
}
构建时,我收到以下错误跟踪:
app / shared / chat / chat.service.ts(58,23):错误TS1005:','预计。
app / shared / chat / chat.service.ts(58,35):错误TS1005:';'预期
答案 0 :(得分:1)
在实例化中,第二行末尾有一个逗号,第三行和第四行末尾有一个分号:
let me = new User {
name: me.name, <-- comma
pictureUrl: other.pictureUrl; <-- semicolon
coverUrl: other.coverUrl; <-- semicolon
};
即使像我一样了解Nativescript,我也猜测这是不对的(基于错误消息和我对一般语法规则的了解)。
顺便说一句,如果这是真的,你可能最好删除这个问题,因为它几乎肯定会被视为一个简单的拼写错误。