Я проходил курс Advance NodeJS от Стивена Колберта, где наткнулся на код, который выглядит следующим образом
const cacheValue = await client.get(key)
if (cacheValue) {
const doc = JSON.parse(cacheValue)
console.info("this is doc:", doc)
if (Array.isArray(doc)) {
const doc1 = doc.map(d => new this.model(d))
console.info("this is doc1:", doc1)
return doc1
}
return this.model(doc)
}
Здесь Стивен говорил о Redis (который, я думаю, может быть здесь не очень актуален). Он упомянул, что мы можем получить один блог и группу блогов.
Поэтому, когда мы получаем группу блогов, мы проверяем, является ли это массив, а затем сопоставляем его const doc1 = doc.map(d => new this.model(d)).
Теперь я не могу понять, почему просто return this.model(doc) не работает? вроде зачем нам делать if (Array.isArray(doc)) {
также я не вижу никакой разницы между console.info("this is doc:", doc) и console.info("this is doc1:", doc1), следовательно, в чем разница между нашими doc и doc1?
И более того, doc1 - это множество объектов модели.
Стивен Колберт преподает JavaScript ?!



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Если это множество объектов «doc», код создает новую модель для каждого из них.