Как я могу сначала получить результат из обещания, а затем отрендерить мой блок (Гутенберг)? - PullRequest
0 голосов
/ 25 марта 2019

Я пишу плагин для Wordpress Gutenberg и хочу получить некоторые данные с сервера и отобразить их в редакторе.

В этом случае я вижу два решения:

  1. Просто сделайте функцию асинхронной, а в теле используйте await getData () и визуализируйте результат (т.е. просто верните) Это будет выглядеть так:

  2. Не делать функцию асинхронной, но в теле записать обещание и поместить return в then() => { // here}

1 кейс: редактировать: асинхронная функция (реквизит) {

    let data = await getData('...');

    return [
        el('div', {}, data)
    ];
},

save: function (props) {
    return [
      //my elements goes here
    ];
}

2 дела: редактировать: функция (реквизит) {

    getDataPromise()
        .then((data) => {
            return [
               el('div', {}, data)
            ];
        }
},

save: function (props) {
    return [
      //my elements goes here
    ];
}

Но в обоих случаях я получаю эту ошибку в консоли https://reactjs.org/docs/error-decoder.html/?invariant=31&args[]=%5Bobject%20Promise%5D&args[]= Это означает, что я не могу использовать обещания в этом блоке Reacts.

Итак, есть ли способ получить данные, а затем отобразить результаты?

Спасибо.

...