Я немного не понимаю как Node js, функцию сделать асинхронной?
Вариант 1:
const asyncFn = () => new Promise((resolve, reject) => {
// do some async call and resolve or reject
});
Пример:
const delay = duration => new Promise(res => setTimeout(res, duration));
delay(200).then(() => {
// do something after delay
});
Вариант 2:
const asyncFn = async () => {
// do something with awaiting async call result or not
// and return result or not
});
Пример:
const getSomeData = async () => {
const result = await someAsyncCall();
return someOtherAsyncCall(result);
};
Вариант 3:
const asyncFn = cb => {
// do some async call and call cb
}
Пример:
const delay = (duration, cb) => setTimeout(cb, duration));
delay(200, () => {
// do something after delay
});
Во всех вариантах вам придется использовать коде какой-либо встроенный асинхронный вызов, таймер или стороннюю библиотеку.
как определить функция которую вызываю она синхронная или асинхронная ?
Обычно такая функция возвращает Promise или принимает колбек.
Почитать:
Методы асинхронного программированияПонимание асинхронного программирования