Nativescript:错误TS1005:','预计

时间:2016-10-29 08:36:01

标签: interface nativescript angular2-nativescript

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:';'预期

1 个答案:

答案 0 :(得分:1)

在实例化中,第二行末尾有一个逗号,第三行和第四行末尾有一个分号:

let me = new User {
    name: me.name,                   <-- comma
    pictureUrl: other.pictureUrl;    <-- semicolon
    coverUrl: other.coverUrl;        <-- semicolon
  };

即使像我一样了解Nativescript,我也猜测这是不对的(基于错误消息和我对一般语法规则的了解)。

  

顺便说一句,如果这是真的,你可能最好删除这个问题,因为它几乎肯定会被视为一个简单的拼写错误。