У меня нет опыта работы с koa2, в частности, с другими платформами серверов узлов, но определить, является ли значение, возвращаемое функцией, другой функцией или обычным значением, вполне выполнимо во время выполнения в JavaScript.
Например, предположим,у вас есть функция с именем f
, которая возвращает что-то, но вы не знали заранее.В этом случае мы можем проверить возвращаемое значение и выполнить соответствующее действие.
f = () => { ... }
val = f()
// you don't know the type of val, so let's find out
if (val instanceof Function) {
// val is a function, so you handle it in one way
} else {
// val is not a function, so you handle it in another way
}
Вы также можете использовать typeof f()
, который вернет 'function'
, если значение, возвращаемое f()
, является функцией (обратите внимание, что typeof
возвращает строку, поэтому кавычки вокруг слова 'function')
val = f()
typeof val === 'function'
typeof val !== 'function'