我如何从诺言中获取数据并将其保存到外部

时间:2019-01-25 09:18:38

标签: javascript reactjs promise

我有promise函数( getCategories()),该函数从fetch()返回我的数据( CategoryChoices ),我需要将这些数据从promise链中取出并传递作为我组件的道具(请看下面的代码)。

我尝试了这段代码,但是 CategoryChoices 变成了未定义,所以我想也许是因为 getCategories()是异步的,但是我不知道如何制作它同步完成我想要的。

    val cb = entityManager.criteriaBuilder
    val cq = cb.createQuery(TestObject::class.java)

    val rootEntry = cq.from(TestObject::class.java)

    val predicates = mutableListOf<Predicate>()

    predicates.add(cb.like(rootEntry.get<String>("value1"), value1))
    predicates.add(cb.equal(rootEntry.get<String>("value2"), value2))
    predicates.add(cb.equal(rootEntry.get<Int>("value3"), value3))

    val cqAllWhere = cq.select(rootEntry)
        .where(cb.or(*predicates.toTypedArray()))

    val allQuery = entityManager.createQuery(cqAllWhere)
    val entries = allQuery.resultStream

    return entries

}

// getCategories.js


export default function getCategories() {
    const url = `my.api.cant.show.you.sorry.but.it.works`;

return fetch(url)
    .then(response => response.json())
    .then(data => {
        console.log(data);
        const categories = data.map(category => {
            return category.identifier;
        }, )
        return categories;
    });

}

我希望 CategoryChoices 能够在 接收数据之前接收数据。现在它收到“未定义”

0 个答案:

没有答案