Как вы узнаете, является ли функция асинхронной или синхронной в node.js ?

#javascript #asynchronous

#javascript #node.js

Вопрос:

Есть ли какой-либо способ узнать, является ли функция асинхронной или синхронной в node.js ? Заранее спасибо.

Комментарии:

1. Функция будет выполняться асинхронно, если она выполняет какие-либо операции ввода-вывода (сеть, файловая система и т. Д.), В противном случае Она будет синхронной

Ответ №1:

Нет программного способа определить.

Надежный способ — прочитать документацию.

Вы также можете попытаться вывести это из функции, принимающей обратный вызов (но это ненадежно, см. Array.prototype.forEach Пример синхронной функции, которая принимает обратный вызов).

Ответ №2:

Вы можете догадаться по профилю функции. Но вы не можете быть действительно уверены. Например, если функция запрашивает обратный вызов в параметре или возвращает обещание, это, вероятно, асинхронно.

Но у вас нет возможности быть уверенным. Функция может запрашивать обратный вызов и выполнять синхронную работу. Он может даже возвращать обещание и при этом оставаться синхронным.

Вы должны прочитать документацию, чтобы быть уверенным.