首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何等待使用阿波罗完成的graphql查询?

如何等待使用阿波罗完成的graphql查询?
EN

Stack Overflow用户
提问于 2017-12-28 14:29:06
回答 1查看 2.8K关注 0票数 0

我有以下代码:

代码语言:javascript
复制
  ngOnInit() {

    this.data = this.apollo.query({ query: ResidentQuery }).subscribe(({data, loading}) => {
      this.data = data;
      this.loading = loading;
    });

    if (!this.loading) {
      // using this.data
    }
   }

我希望在(!this.loading)处理数据之前加载数据。情况并非如此,因为加载是异步的。在使用这些数据之前,我如何等待数据被加载?

我正在使用阿波罗客户端进行graphql查询。ResidentQuery是一个包含graphql查询的字符串。

谢谢你的反馈!

EN

回答 1

Stack Overflow用户

发布于 2018-02-24 17:46:30

我不知道角是如何工作的,但我知道它在反应中是如何工作的,我知道两者是相似的。

在react中,您需要使用componentWillReceiveProps() (编辑: Now ),例如:

代码语言:javascript
复制
componentWillReceiveProps(newProps){
        if(!newProps.query.loading){
            this.setState({data: newProps.query.data})
        }
    }

来自如何角度和反应生命周期是相似的的中介文章

基本上,道具将根据角度自动绑定,所以我假设setter和getter函数就是这个部分,它为您提供了一种生成复杂状态或变量的方法,就像在componentWillReceiveProps()中可以做的那样。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48009280

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档