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

时间:2018-06-13 14:26:48

标签: 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中,并将return语句更改为resolve(item.Name)?或者有更清洁的方法吗? 谢谢!

1 个答案:

答案 0 :(得分:2)

您没有从getItemName函数返回承诺。

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