类型“RelayObservable<unknown>”上不存在属性“then”。当我尝试在反应中使用中继获取数据时。我不知道为啥会出现这个错误

Posted

技术标签:

【中文标题】类型“RelayObservable<unknown>”上不存在属性“then”。当我尝试在反应中使用中继获取数据时。我不知道为啥会出现这个错误【英文标题】:Property 'then' does not exist on type 'RelayObservable<unknown>'. when I try to fetch data using relay in react. I don't know why this error come类型“RelayObservable<unknown>”上不存在属性“then”。当我尝试在反应中使用中继获取数据时。我不知道为什么会出现这个错误 【发布时间】:2021-08-12 13:55:02 【问题描述】:

“RelayObservable”类型上不存在“then”属性。当我尝试在 react 中使用继电器获取数据时。

  try 
            
            fetchQuery(environment, expenseQueryMyQuery,).then((data)=>
                console.log("All data:::",data);
            ).catch((error)=>
                console.log("query error::",error);
            )
            catch (error) 
               
       

【问题讨论】:

【参考方案1】:

如果这真的是一个 Observable,你应该使用 .subscribe 而不是 .then(用于 Promises)

fetchQuery(environment, expenseQueryMyQuery,).subscribe(
  next: (data)=>
    console.log("All data:::",data);
  ,
  error: (error)=>
    console.log("query error::",error);
  
)

这是官方网站上fetchQuery的文档链接:https://relay.dev/docs/api-reference/fetch-query/#internaldocs-banner?

【讨论】:

以上是关于类型“RelayObservable<unknown>”上不存在属性“then”。当我尝试在反应中使用中继获取数据时。我不知道为啥会出现这个错误的主要内容,如果未能解决你的问题,请参考以下文章

c#中值类型和引用类型的区别

MySQl数据类型

值类型和引用类型

TS 基本类型分类any 类型

MySQL数据类型 - 数字类型 - 数字类型语法

js简单类型与复杂类型