在 fetch 方法中调用 graphql 查询

Posted

技术标签:

【中文标题】在 fetch 方法中调用 graphql 查询【英文标题】:Call graphql query in fetch method 【发布时间】:2021-03-04 06:49:23 【问题描述】:

我必须。那么如何调用这个方法呢?

我必须在 fetch 方法中调用以下查询。

query AddressList($street:String, $city:String, $state:String, $zip:String) 
   address_list(street:$street, city:$city, state:$state, zip:$zip)
    street
    city
    state
    zip
    
  

任何人,请给我一个解决方案。

谢谢。

【问题讨论】:

建议:使用搜索 【参考方案1】:

I 正在使用这个:

    async function graphql(query, variables=)
        const r = await fetch('/graphql', 
            method:"POST",
            headers: 
                "Content-Type": "application/json"
            ,
            body:JSON.stringify(
                query,
                variables
            )
        );
        var result = (await r.json());

        // error handling
        if(result.errors)
            throw result.errors
            
        
        
        if(r.ok)
            return result.data
        
        
        throw result;
    

你可以像这样使用它:

const  address_list  = await graphql(`query AddressList($street:String, $city:String, $state:String, $zip:String) 
   address_list(street:$street, city:$city, state:$state, zip:$zip)
    street
    city
    state
    zip
    
  
`,street:'streetName',city: 'cityName', state:'stateName')

【讨论】:

以上是关于在 fetch 方法中调用 graphql 查询的主要内容,如果未能解决你的问题,请参考以下文章

如何在 JavaScript 中进行简单的 GraphQL 查询

使用 Javascript fetch 发送的 GraphQL 引用参数

有啥方法可以将 GraphQL 查询的多个 Fragment 扩展拆分为多个调用?

如何使用 graphql-tools 调用查询

如何从 iOS 中的 hasura graphql 查询中获取错误响应

放大 dynamodb graphql fetch 函数在循环中无限运行