Вы не можете передавать данные, тогда ждите их. Данные должны ожидаться, затем передаваться, иначе вы передаете Promise
, а не данные. Передача Promise
не нужна и не очень хорошая идея.
Либо .then()
, либо await
выполнят эту работу. Разница только синтаксическая. В общем, старайтесь не смешивать два.
// either
getData().then(useData);
// or (IIFE-wrapped unless already inside an asyncFunction)
(async function() {
useData(await getData());
})();
Ни getData()
, ни useData()
не должны быть asyncFunction, если они не используют await
.
function getData() {
return Promise.resolve({'one': 1, 'two': 2, 'three': 3});
};
function useData(data) {
console.log(data);
};