Office.AsyncResult interface

Объект, который инкапсулирует результат асинхронного запроса, включая сведения о состоянии и ошибке, если запрос завершился ошибкой.

Когда функция, передаваемая в callback параметр метода Async, выполняется, она получает объект AsyncResult, к которому можно получить доступ из единственного callback параметра функции.

Комментарии

Примеры

// The following is an example applicable to content and task pane add-ins.
// The example shows a call to the getSelectedDataAsync method of the Document object.
Office.context.document.getSelectedDataAsync(
    Office.CoercionType.Text,
    {
        valueFormat: Office.ValueFormat.Unformatted,
        filterType: Office.FilterType.All
    },
    (result) => {
        if (result.status === Office.AsyncResultStatus.Succeeded) {
            const dataValue = result.value; // Get selected data.
            console.log('Selected data is ' + dataValue);
        } else {
            const err = result.error;
            console.log(err.name + ": " + err.message);
        }
    }
);
// The anonymous function passed as the callback argument ((result) => {...}) has a single 
// parameter named result that provides access to an AsyncResult object when the function executes.
// When the call to the getSelectedDataAsync method completes, the callback function executes, 
// and the following line of code accesses the value property of the AsyncResult object to 
// return the data selected in the document:
// const dataValue = result.value;
// Note that other lines of code in the function use the result parameter of the callback function 
// to access the status and error properties of the AsyncResult object.

Свойства

asyncContext

Возвращает определяемый пользователем элемент, переданный в необязательный asyncContext параметр вызываемого метода в том же состоянии, в которое он был передан. При этом возвращается определяемый пользователем элемент (который может иметь любой тип JavaScript: String, Number, Boolean, Object, Array, Null или Undefined), переданный в необязательный asyncContext параметр вызываемого метода. Возвращает значение Undefined, если параметр asyncContext не был указан.

diagnostics

Возвращает объект, который может предоставить дополнительные сведения, если произошла ошибка .

error

Возвращает объект Office.Error , предоставляющий описание ошибки, если произошла какая-либо ошибка.

status

Возвращает объект Office.AsyncResultStatus асинхронной операции.

value

Получает полезные данные или содержимое асинхронной операции (если имеется).

Сведения о свойстве

asyncContext

Возвращает определяемый пользователем элемент, переданный в необязательный asyncContext параметр вызываемого метода в том же состоянии, в которое он был передан. При этом возвращается определяемый пользователем элемент (который может иметь любой тип JavaScript: String, Number, Boolean, Object, Array, Null или Undefined), переданный в необязательный asyncContext параметр вызываемого метода. Возвращает значение Undefined, если параметр asyncContext не был указан.

asyncContext: any;

Значение свойства

any

Примеры

function getDataWithContext() {
    const format = "Your data: ";
    Office.context.document.getSelectedDataAsync(
        Office.CoercionType.Text, 
        { asyncContext: format }, 
        showDataWithContext);
}

function showDataWithContext(asyncResult) {
    write(asyncResult.asyncContext + asyncResult.value);
}
// Function that writes to a div with id='message' on the page.
function write(message){
    document.getElementById('message').innerText += message; 
}

diagnostics

Возвращает объект, который может предоставить дополнительные сведения, если произошла ошибка .

diagnostics: any;

Значение свойства

any

Комментарии

Это свойство возвращает дополнительные сведения, если в этих поддерживаемых API возникают следующие ошибки.

Поддерживаемые API

Office.context.mailbox.item.getCallbackTokenAsync, Office.context.mailbox.item.getUserIdentityTokenAsync

Поддерживаемые ошибки

AsyncResult.error.name AsyncResult.error.message Описание возвращаемого объекта диагностики
HTTPRequestFailure Не удалось выполнить запрос. Просмотрите объект диагностики для кода ошибки HTTP. Код ошибки HTTP в объекте JSON, например {"HTTPCode":"401"}
InternalServerErrorСервер Exchange Server вернул ошибку. Для получения дополнительных сведений просмотрите объект диагностики.Сообщение об ошибке от сервера Exchange в объекте JSON, например {"ErrorText": "The mailbox database is temporarily unavailable"}

error

Возвращает объект Office.Error , предоставляющий описание ошибки, если произошла какая-либо ошибка.

error: Office.Error;

Значение свойства

Примеры

function getData() {
    Office.context.document.getSelectedDataAsync(Office.CoercionType.Table, function(asyncResult) {
        if (asyncResult.status == Office.AsyncResultStatus.Failed) {
            write(asyncResult.error.message);
        }
        else {
            write(asyncResult.value);
        }
    });
}
// Function that writes to a div with id='message' on the page.
function write(message){
    document.getElementById('message').innerText += message; 
}

status

Возвращает объект Office.AsyncResultStatus асинхронной операции.

status: AsyncResultStatus;

Значение свойства

Примеры

function getData() {
    Office.context.document.getSelectedDataAsync(Office.CoercionType.Table, function(asyncResult) {
        if (asyncResult.status == Office.AsyncResultStatus.Failed) {
            write(asyncResult.error.message);
        }
        else {
            write(asyncResult.value);
        }
    });
}
// Function that writes to a div with id='message' on the page.
function write(message){
    document.getElementById('message').innerText += message; 
}

value

Получает полезные данные или содержимое асинхронной операции (если имеется).

value: T;

Значение свойства

T

Комментарии

Доступ к объекту AsyncResult выполняется в функции, передаваемой в качестве аргумента в параметр обратного вызова метода Async, например getSelectedDataAsync методы и setSelectedDataAsync объекта Document .

Примечание. Значение, возвращаемое свойством value для конкретного асинхронного метода, зависит от назначения и контекста этого метода. To determine what is returned by the value property for an "Async" method, refer to the "Callback value" section of the method's topic.

Примеры

function getData() {
    Office.context.document.getSelectedDataAsync(Office.CoercionType.Table, function(asyncResult) {
        if (asyncResult.status == Office.AsyncResultStatus.Failed) {
            write(asyncResult.error.message);
        }
        else {
            write(asyncResult.value);
        }
    });
}
// Function that writes to a div with id='message' on the page.
function write(message){
    document.getElementById('message').innerText += message; 
}