Я вызываю функцию от создателя действия:
getPostComments(author, permlink)
.then(comments => {...
Эта функция также вызывается рекурсивно для получения всех вложенных комментариев:
const getPostComments = (author, permlink) => {
return client.database.call('get_content_replies', [author, permlink])
.then(replies => {
return replies.map(r => {
if (r.children > 0) {
return getPostComments(r.author, r.permlink)
.then(children => children)
.then(unpromised => {
r.replies = unpromised
return r;
})
}else {
return r;
}
});
});
}
Проблема в том, что первый вызов возвращается с объектом Promise.Например, на странице есть 3 комментария, и один из них имеет вложенный комментарий.Комментарии без вложенных комментариев возвращают объект комментария, а комментарий с вложенностью возвращает объект Promise.
0: комментарий с комментарием.1: только комментарий.2: только комментарий.
Вложенный комментарий внутри него (0 :) возвращается как обычный объект, так как я делаю .then(unpromised => {
для него, чтобы разрешить рекурсивный вызов getPostComments
.
Но первый вызов getPostComments
- это объект Promise (как показано на первых двух изображениях), и я хочу обычный объект данных,не объект Promise.
Как сделать его обычным объектом?Что не так?
Спасибо!