у вас есть два варианта, во-первых, используйте цепочку обещаний:
let initClient = () => {
return new Promise((resolve, reject) => {
client.hydrated().then(function (client) {
resolve(client);
}).catch(err => reject(err))
})
}
let query = (client) => {
return new Promise((resolve, reject) => {
client.query({query: x}).then((data) => {
fs.writeFileSync('notesdata.json', JSON.stringify(data))
resolve()
}).catch(err => reject(err))
});
};
initClient().then(query).then(() => {
var xy=fs.readFileSync('notesdata.json');
}).catch(err => {
console.log('err: ', err);
})
если вы используете async, дождаться кода гораздо проще:
(async () => {
let client = await client.hydrated();
let data = await client.query({query: x});
console.log('data: ', data);
})().then().catch(err => {
console.log('err: ', err);
})