#javascript #asynchronous
#javascript #node.js
Вопрос:
Есть ли какой-либо способ узнать, является ли функция асинхронной или синхронной в node.js ? Заранее спасибо.
Комментарии:
1. Функция будет выполняться асинхронно, если она выполняет какие-либо операции ввода-вывода (сеть, файловая система и т. Д.), В противном случае Она будет синхронной
Ответ №1:
Нет программного способа определить.
Надежный способ — прочитать документацию.
Вы также можете попытаться вывести это из функции, принимающей обратный вызов (но это ненадежно, см. Array.prototype.forEach
Пример синхронной функции, которая принимает обратный вызов).
Ответ №2:
Вы можете догадаться по профилю функции. Но вы не можете быть действительно уверены. Например, если функция запрашивает обратный вызов в параметре или возвращает обещание, это, вероятно, асинхронно.
Но у вас нет возможности быть уверенным. Функция может запрашивать обратный вызов и выполнять синхронную работу. Он может даже возвращать обещание и при этом оставаться синхронным.
Вы должны прочитать документацию, чтобы быть уверенным.