Как использовать postMessage с результатом обещания в JS - PullRequest
0 голосов
/ 23 декабря 2018

Я пытаюсь передать объект обратно в Renderer, используя postMessage ().

Код разрешается нормально и создает мой объект после серии выборок.

loadMainTbls()
.then(retVal => buildMainTbl(retVal))
.then(dat => reduceMainTbl(dat))
.then(res => postMessage(res))

Если яconsole.log (res) правильный Массив вышел из системы.Я понимаю, что Res это обещание.

.then(res => postMessage(new Promise(function(resolve) {
    resolve(res)
})))

Когда я пытаюсь разрешить res, он всегда возвращается как массив с нулевой длиной.При некоторых попытках я получил ошибку # Не удалось клонировать.

Я пытался представить, что я могу делать неправильно, но безуспешно.Может ли кто-нибудь помочь мне взять значение обещания и отправить сообщение обратно в средство визуализации.

1 Ответ

0 голосов
/ 04 января 2019

Окончательный ответ таков: у меня не было полного понимания концепции Обетований.После исследования и перевода моего ума из синхронной строки после режима выполнения строки в создание обещания, разрешения обещания, .then ().Я смог решить этот и несколько других вопросов.

Я пытался присвоить значения вне области действия и выполнения обещания - .then ().Я узнал, что если я пытаюсь что-то вычислить с обещанием.Я могу делать все, что захочу в конце цепочки обещаний.То, что цепочка обещаний выполняет только Promise -> resolv -> .then () или .catch ().Извините, сообщество, это 101 материал, но я выучил и понял очень важный принцип.Возможность сэкономить много времени на вызовах XHR, даже на асинхронных вызовах XHR.

...