我正在从 GraphQL 服务器获取数据,我正在尝试Async
通过 babel 实现 ES7 功能。我目前正在undefined
控制台中接收,我不确定我做错了什么。
import fetch from 'isomorphic-fetch';
/**
* [transport creates call to server with isomorphic-fetch]
* @param {[String]} path [url to hit with request]
* @param {[Object]} query [The GraphQL query/mutation]
* @param {[Object]} queryParams = {} [Params to pass into query]
* @return {[Promise]} [Promise containing payload]
*/
//function that returns a promise
export function transport (path, query, queryParams = {}) {
return new Promise ((resolve, reject) => {
return fetch(path, {
method: 'POST',
headers: {
'Accept': 'application/json',
'content-type': 'application/json'
},
body: JSON.stringify({
query,
queryParams
})
})
.then(res => res.json())
.then(response => {
if(response.errors) {
return error(response.errors);
}
return resolve(response.data);
})
.catch(error);
});
}
import { transport } from './utils/transport.js';
/**
* [reachGraphQL Makes queres or mutations against GraphQL]
* @param {[String]} path [path to the GraphQL server]
* @param {[Object]} query [The query that GraphQL will use to fetch your data]
* @param {[object]} queryParams = {} [Should contain object with different query params]
* @return {[Object]} [Data that was queried or mutated]
*/
//Heres Where I'm awaiting a promise from the transport function
export function reachGraphQL (path, query, queryParams = {}) {
async () => {
try{
let response = await transport(path, query, queryParams);
return response;
} catch (error) {
console.log(error)
}
}
}