Skip to content

Instantly share code, notes, and snippets.

View artembykov's full-sized avatar

Artem Bykov artembykov

View GitHub Profile
@artembykov
artembykov / useAsync.js
Last active April 29, 2024 09:55
React hook for async operations
import { useCallback, useEffect, useState } from "react";
export default (asyncFunction, dependencies) => {
const memoizedAsyncFunction = useCallback(asyncFunction, dependencies);
const [resultGetter, setResultGetter] = useState(() => () => { });
useEffect(() => {
const controller = new AbortController();
const signal = controller.signal;
/* global controller, Chart */
const canvas = document.createElement('canvas');
controller.element.appendChild(canvas);
const chart = new Chart(canvas, {
type: 'radar',
data: getChartData([]),
options: {

Keybase proof

I hereby claim:

  • I am artembykov on github.
  • I am artembykov (https://keybase.io/artembykov) on keybase.
  • I have a public key ASCHn6D1UyAlwkkklTaP188E0_7O2pSOT3ovyqKyn7e3Ngo

To claim this, I am signing this object:

async function fetchData(client, name, queryConfig) {
const query = await client.createQuery({ name }, queryConfig);
console.log('Query created');
return new Promise((resolve, reject) => {
console.log('Running query...');
client.runQuery(query, resolve, reject);
});
}
const queryConfig = {
filters: [],
groups: [{
name: 'gender',
limit: 10,
sort: { dir: 'asc', name: 'gender' }
}],
metrics: [
{ name: 'satisfaction', func: 'sum' }
]
async function run() {
const application = {
secure: true,
host: 'developer.zoomdata.com',
port: 443,
path: '/zoomdata-2.6'
};
const credentials = {
key: 'KVKWiD8kUl'
const ZoomdataSDK = require('zoomdata-client/distribute/sdk/zoomdata-client.node');