Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ionic3-数据更新时API和同步好友列表_Api_Ionic Framework_Ionic3 - Fatal编程技术网

Ionic3-数据更新时API和同步好友列表

Ionic3-数据更新时API和同步好友列表,api,ionic-framework,ionic3,Api,Ionic Framework,Ionic3,我有一个使用API的Ionic3应用程序。 此API提供朋友列表。这是有效的,当我进入该视图时,我会得到一个朋友列表 但是,当我仍然在朋友列表的视图中时,如果其他用户将我从他/她的朋友列表中删除,那么我如何更新该列表,以便我们基本上不再是朋友。我可以每X秒进行一次轮询以更新列表,但有没有更好的方法?我会使用Socket,您需要API让某些设备知道有人删除了它们,Socket.IO上有一些很棒的文档。我有一个类似的问题,所以我制作了一个简单的NodeJS服务器,基本实现了sockets,然后在Io

我有一个使用API的Ionic3应用程序。 此API提供朋友列表。这是有效的,当我进入该视图时,我会得到一个朋友列表


但是,当我仍然在朋友列表的视图中时,如果其他用户将我从他/她的朋友列表中删除,那么我如何更新该列表,以便我们基本上不再是朋友。我可以每X秒进行一次轮询以更新列表,但有没有更好的方法?

我会使用Socket,您需要API让某些设备知道有人删除了它们,Socket.IO上有一些很棒的文档。我有一个类似的问题,所以我制作了一个简单的NodeJS服务器,基本实现了sockets,然后在Ionic上实现了sockets

首先:在爱奥尼亚项目中安装Socket.IO:
npm安装ng Socket IO--save

然后将这三行添加到您的
app.module.ts

import { SocketIoModule, SocketIoConfig } from 'ng-socket-io';
const config: SocketIoConfig = { url: 'http://localhost:3001', options: {} };

@NgModule({
   /.../
 imports: [
     BrowserModule,
     IonicModule.forRoot(MyApp),
     SocketIoModule.forRoot(config)
 ],
  /.../
})
最后在您的
好友列表上。ts

import { Socket } from 'ng-socket-io'
export class FriendListPage { 
    constructor(public navCtrl: NavController, private socket: Socket) {
          this.socket.connect();
    }

    deleteFriend(friend) {
        // Friend deletion logic
        this.socket.emit('delete-friend', friend);
    }

    onFriendDeletion() {
        let observable = new Observable(observer => {
            this.socket.on('deletion', (data) => {
                observer.next(data);
            });
        })
        return observable;
    }

    refreshOnDelete() {
        this.onFriendDeletion().subscribe(data => {
            //Refresh friend list.
        });
    }
}

这是一个基本的例子,说明了你在离子方面需要做什么。关于,有一个很棒的教程,它教你如何使用基本的NodeJS服务器和Ionic创建聊天应用程序,但你可以对它稍加修改以解决问题。

当朋友列表页面打开时,你可以重新运行列表数组。@DevangMistry:你的意思是每X秒轮询一次API吗?不,你可以在页面加载事件中重新运行列表代码。示例:ionViewDidLoad(){在此处调用您的列表函数;}谢谢,这将让我开始:)