1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Get value from an async function in Outlook Web Addin

Discussion in 'Programming/Internet' started by rpmansion, Oct 8, 2018.

  1. rpmansion

    rpmansion Guest

    I'm working on an Outlook Web Addin that gets the email body. So in the Office API you could get the email body in two types: Simple Text and Html.

    Our requirement is to get the HTML format so this is easy, however, even if the email body is empty the HTML format still returns a value which is the HTML elements but does not have contents in it. So my solution is to check first for the Simple Text version of the email body then if there is a content get the HTLM format version.

    Please see the below codes:

    var mailItem = Office.context.mailbox.item;

    mailItem.body.getAsync(Office.CoercionType.Text, function (result) {
    if (result.status === Office.AsyncResultStatus.Succeeded) {
    var normalizeValue = null;

    if (result.value) {
    normalizeValue = result.value.trim();
    }

    if (normalizeValue !== '') {
    mailItem.body.getAsync(Office.CoercionType.Html, function (result) {
    if (result.status === Office.AsyncResultStatus.Succeeded) {
    // the value will be initialized in input value
    $('#body').val(result.value.trim());
    }
    });
    }
    }
    });


    I would like to get the value from the 'Text' type and pass this in a variable then check the variable then run the getAsync for the html version separately instead of having the codes inside the method of body.getAsync. Or anything the code could improve?

    Login To add answer/comment
     

Share This Page