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.
Свойства
async |
Возвращает определяемый пользователем элемент, переданный в необязательный |
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;
}
Office Add-ins