SearchPaneSuggestionsRequestDeferral, classe

SearchPaneSuggestionsRequestDeferral Class

Permet à l'application de signaler qu'elle a terminé de remplir un objet searchSuggestionCollection tout en gérant l'événement suggestionsrequested. Les applications doivent utiliser un différé si et seulement si elles doivent répondre à une demande de suggestions de façon asynchrone.

Syntaxe


var searchPaneSuggestionsRequestDeferral = searchPaneSuggestionsRequest.GetDeferral();

Attributs

[MarshalingBehavior(Agile)]
[Version(0x06020000)]

Membres

SearchPaneSuggestionsRequestDeferralClasse possède ces types de membres :

Méthodes

The SearchPaneSuggestionsRequestDeferral Classe a les méthodes suivantes. Avec C#, Visual Basic et C++, elle hérite également des méthodes de Object Classe.

MéthodeDescription
Complete Signals that the app has finished populating a searchSuggestionCollection object while handling the suggestionsrequested event.

 

Remarques

Votre application doit répondre de manière asynchrone à une demande liée aux suggestions si la réponse à la demande prend un certain temps, par exemple dans le cas de l'extraction de suggestions d'un service Web.

Utilisez la méthode searchPaneSuggestionsRequestDeferral.complete pour signaler lorsque votre application a fini de traiter la demande.

Une application récupère cet objet en appelant la méthode searchPaneSuggestionsRequest.getDeferral tout en gérant l'événement suggestionsrequested.

Exemples

L'Exemple de contrat de recherche montre comment répondre à un événement suggestionsrequested, notamment comment obtenir un différé.


Windows.ApplicationModel.Search.SearchPane.getForCurrentView().onsuggestionsrequested = function (eventObject) {
    var queryText = eventObject.queryText, language = eventObject.language, suggestionRequest = eventObject.request;

    // The deferral object is used to supply suggestions asynchronously for example when fetching suggestions from a web service.
    // Indicate that we'll do this asynchronously:
    var deferral = suggestionRequest.getDeferral();

    // Use the web service Uri entered in the urlInput that supports this standard in order to see suggestions come from the web service.
    // See http://msdn.microsoft.com/en-us/library/cc848863(v=vs.85).aspx for details on XML Search Suggestions format.
    // And replace "{searchTerms}" with the query string, which should be encoded into the URI.
    var suggestionUri = document.getElementById("urlInput").innerText.replace("{searchTerms}", encodeURIComponent(queryText));

    // Cancel the previous suggestion request if it is not finished.
    if (xhrRequest && xhrRequest.cancel) {
        xhrRequest.cancel();
    }

    // Create request to obtain suggestions from service and supply them to the Search Pane.
    xhrRequest = WinJS.xhr({ url: suggestionUri });
    xhrRequest.done(
        function (request) {
            if (request.responseXML) {
                generateSuggestions(request.responseXML, suggestionRequest.searchSuggestionCollection, queryText);
            }

            deferral.complete(); // Indicate we're done supplying suggestions.
        },
        function (error) {
            WinJS.log && WinJS.log("Error retrieving suggestions for query: " + queryText, "sample", "status");

            // Call complete on the deferral when there is an error.
            deferral.complete();
        });
};


Conditions requises

Client minimal pris en charge

Windows 8 [Applications Windows Store uniquement]

Serveur minimal pris en charge

Windows Server 2012 [Applications Windows Store uniquement]

Espace de noms

Windows.ApplicationModel.Search
Windows::ApplicationModel::Search [C++]

Métadonnées

Windows.winmd

Voir aussi

Référence
SearchPane class
SearchPane.SuggestionsRequested event
SearchPaneSuggestionsRequest class
SearchPaneSuggestionsRequest.GetDeferral method
SearchPaneSuggestionsRequestedEventArgs class

 

 

Afficher:
© 2017 Microsoft