0
IM构建一个简单的聊天应用程序与插座IO角2(打字稿)和的NodeJS作为后端服务器 我有这样的功能,完美的作品,当我点击连接按钮无法读取属性“发出”未定义的打字稿的
connectUser(name){
\t
\t if (name == null || name == ""){
\t return \t console.log('you must enter a valid username');
\t
\t }
\t this.username = name;
\t this.socket.emit('add-user',name);
\t //load connected users in the user-window section
\t this.socket.emit('request-users',{data:'request users success'});
\t var connecctedUsersListener$ = Observable.fromEvent(this.socket,'users');
\t connecctedUsersListener$.subscribe((observer:any)=>{
\t \t this.users = observer;
\t },(err)=>{
\t \t if(err) throw err;
\t },()=>{
\t \t console.log('complet');
\t });
//load messages and keep track of Them
this.socket.emit('request-messages',{data:'request Messages success'});
var messageListener$ = Observable.fromEvent(this.socket,'message');
messageListener$.subscribe((observer:any) =>{
\t this.messages = observer;
\t
})
}
但是我尝试使用bootbox.prompt每当用户试图连接,所以我换这个简单的函数内的所有代码
addUser(){
bootbox.prompt('what is your name ',function(name){
connectUser(name); // this is the function in the first code snippet \t
\t });
}
我得到这个奇怪的错误无法读取属性“发射”的未定义 我怎样才能解决这个问题,什么问题在这里?