在[对象承诺]中使用值

时间:2018-07-26 13:53:14

标签: javascript jquery typescript

在尝试使用对API进行调用的值时遇到问题。

这是我的打字稿代码:

 private async getPersonName() {
            let fullName = await Api.GetName('Data($select=FullName)', `PersonId  eq ${currentPersonId}`);
            return fullName.value[0].Data.FullName;
        }

然后,我需要使用Jquery将其附加到DOM。

$("#myId").text(/*getPersonName() value*/);

当我尝试附加此内容时,它会在DOM中显示 [object Promise] 。我不太确定如何正确使用此值。

致谢。

2 个答案:

答案 0 :(得分:1)

尝试这个$("#myId").text(await getPersonName());
或者这个:

private async getPersonName() {
   let fullName = await Api.GetName('Data($select=FullName)', `PersonId  eq ${currentPersonId}`);
   return fullName.value[0].Data.FullName;
}

...

getPersonName().then((value) => {
    $("#myId").text(value);
})

答案 1 :(得分:0)

由于getPersonName()被声明为async,因此您可能应该await对其进行调用。

var value = await getPersonName();
$("#myId").text(value);

甚至

$("#myId").text(await getPersonName());