javascript - 从 promise 的 then() 返回一个值?

标签 javascript promise

我有两个函数来获取项目的名称。

getItemName(itemId) {

    getSingleItem(itemId)
        .then(item => {
            return item.Name;
        });
}

getSingleItem(itemId) {
    return httpsRequest.createRequest(this.URL.itemList + `?Item_Id=${it}`, {}, this.requestHeaders, 'GET')
        .then(result => JSON.parse(result).Records[0]);
}

所以看来 getItemName() 在返回 item.Name 之前就完成了执行。让它正确返回的唯一方法是将其包装在 promise 中,并将返回语句更改为resolve(item.Name)?或者有更干净的方法来做到这一点吗? 谢谢!

最佳答案

您没有从 getItemName 函数返回 promise 。

getItemName(itemId) {
    return getSingleItem(itemId)
        .then(item => {
            return item.Name;
        });
}

关于javascript - 从 promise 的 then() 返回一个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50839719/

相关文章:

javascript - 为什么我应该在 javascript 中使用 Promise 而不是 Callbacks?

typescript - 使用 Promises 的类型 '{}' 上不存在属性

javascript - Promises数组,传递创建时使用的变量

javascript - 如何在 Firestore 中处理 promise

javascript - 更改 jQuery 中的框架位置

javascript - 为什么我的 for 循环不执行?

javascript - Ionic 2 列表未更新数据

javascript - 为什么选择显示显示的是值而不是标签?

javascript - 当我们返回一个值以及从微任务队列中的 then() 链返回 Promise.resolve 时会发生什么?

javascript - 向上滚动文本并在使用 html5 音频读取文本时将其隐藏