How to chain Graphql queries

i think, i have a solution. at least it seems to work for now.

 let fq = (res) => client.query({
  		query: GETNEXTDATA,variables:{after:res.data.allItems.pageInfo.endCursor}
	}).then(response => {
		collectedData=[...collectedData,...response.data.allItems.edges]
        console.log("combined data",collectedData)

		if(response.data.allItems.pageInfo.hasNextPage){
        	return fq(response)

    	}else{
    		// use State here to set data, then resolve
    		 setDocData(collectedData);
        	return Promise.resolve();
   		}
	})