Office.AsyncResult interface
Um objeto que encapsula o resultado de uma solicitação assíncrona, incluindo informações de status e de erro caso a solicitação tenha falhado.
Quando a função que você passa para o callback
parâmetro de um método "Async" é executada, ela recebe um objeto AsyncResult que você pode acessar do callback
único parâmetro da função.
Comentários
Exemplos
// 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.
Propriedades
async |
Obtém o item definido pelo usuário passado para o parâmetro opcional |
diagnostics | Obtém um objeto que pode fornecer informações adicionais se ocorrer um erro . |
error | Obtém um objeto Office.Error que fornece uma descrição do erro, se ocorreu algum erro. |
status | Obtém o Office.AsyncResultStatus da operação assíncrona. |
value | Obtém a carga ou o conteúdo desta operação assíncrona, caso haja algum. |
Detalhes da propriedade
asyncContext
Obtém o item definido pelo usuário passado para o parâmetro opcional asyncContext
do método invocado no mesmo estado em que foi passado. Isso retorna o item definido pelo usuário (que pode ser de qualquer tipo JavaScript: String, Number, Boolean, Object, Array, Null ou Undefined) passado para o parâmetro opcional asyncContext
do método invocado. Retorna Undefined, se você não passou nada para o parâmetro asyncContext.
asyncContext: any;
Valor da propriedade
any
Exemplos
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
Obtém um objeto que pode fornecer informações adicionais se ocorrer um erro .
diagnostics: any;
Valor da propriedade
any
Comentários
Essa propriedade retornará informações adicionais se os seguintes erros ocorrerem com essas APIs com suporte.
APIs com suporte
Office.context.mailbox.item.getCallbackTokenAsync
, Office.context.mailbox.item.getUserIdentityTokenAsync
Erros com suporte
AsyncResult.error.name | AsyncResult.error.message | Descrição do objeto de diagnóstico retornado |
---|---|---|
HTTPRequestFailure | A solicitação falhou. Examine o objeto de diagnóstico para o código de erro HTTP. | O código de erro HTTP em um objeto JSON, por exemplo, {"HTTPCode":"401"} |
InternalServerError | O servidor do Exchange retornou um erro. Para saber mais, confira o objeto de diagnóstico. | A mensagem de erro do servidor exchange em um objeto JSON, por exemplo, {"ErrorText": "The mailbox database is temporarily unavailable"} |
error
Obtém um objeto Office.Error que fornece uma descrição do erro, se ocorreu algum erro.
error: Office.Error;
Valor da propriedade
Exemplos
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
Obtém o Office.AsyncResultStatus da operação assíncrona.
status: AsyncResultStatus;
Valor da propriedade
Exemplos
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
Obtém a carga ou o conteúdo desta operação assíncrona, caso haja algum.
value: T;
Valor da propriedade
T
Comentários
Você acessa o objeto AsyncResult na função passada como o argumento para o parâmetro de retorno de chamada de um método "Assíncrono", como os getSelectedDataAsync
métodos e setSelectedDataAsync
do objeto Document .
Observação: o que a propriedade value retorna para um método "Assíncrono" específico varia dependendo da finalidade e do contexto desse método. To determine what is returned by the value property for an "Async" method, refer to the "Callback value" section of the method's topic.
Exemplos
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;
}
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de