在Apollo客户端中,可以使用then
方法从Promise中提取数据。以下是一个代码示例:
import { ApolloClient, InMemoryCache, gql } from '@apollo/client';
const client = new ApolloClient({
uri: 'https://example.com/graphql',
cache: new InMemoryCache(),
});
const GET_DATA = gql`
query {
data {
id
name
}
}
`;
client.query({ query: GET_DATA }).then((response) => {
const data = response.data.data; // 提取数据
console.log(data);
}).catch((error) => {
console.error(error);
});
在上面的例子中,首先创建了一个Apollo客户端实例。然后定义了一个GraphQL查询GET_DATA
,该查询会返回一个包含id
和name
字段的数据对象。接下来,使用client.query
方法发送查询请求,并通过then
方法处理响应数据。在then
回调函数中,可以使用response.data
来获取整个响应数据对象,然后使用.data
属性来提取实际的数据。最后,通过console.log
输出提取的数据。如果在查询过程中发生错误,可以使用catch
方法来捕获并处理错误。
请注意,上面的示例使用了@apollo/client
库来创建Apollo客户端和发送查询请求。这是Apollo官方提供的用于JavaScript和TypeScript的Apollo客户端库。如果您使用的是其他版本的Apollo客户端,请根据相应版本的文档来查找提取数据的方法。