Cette page vous a-t-elle été utile ?
Votre avis sur ce contenu est important. N'hésitez pas à nous faire part de vos commentaires.
Vous avez d'autres commentaires ?
1500 caractères restants
Exporter (0) Imprimer
Développer tout
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

Utilisation des méthodes Windows Runtime asynchrones

La plupart des méthodes Windows Runtime, notamment les méthodes longues lors de leur exécution sont asynchrones. Ces méthodes retournent généralement une action ou une opération asynchrone (par exemple, [Windows.Foundation.IAsyncAction], [Windows.Foundation.IAsyncOperation], [Windows.Foundation.IAsyncActionWithProgress], ou [Windows.Foundation.IAsyncOperationWithProgress]). Ces méthodes sont représentées dans JavaScript par le modèle CommonJS/Promises/A. C'est-à-dire, ils retournent un objet de promesse qui a une fonction then, pour laquelle vous devez fournir une fonction completed qui gère le résultat en cas de réussite de l'opération. Si vous ne souhaitez pas fournir un gestionnaire d'erreurs, vous devez utiliser la fonction done au lieu de la fonction then.

Remarque importante Important

Les fonctionnalités de Windows Runtime ne sont pas disponibles pour les applications exécutées dans Internet Explorer.

Dans l'exemple suivant, la fonction then utilise un paramètre qui représente la valeur terminée de la méthode createResourceAsync.

client.createResourceAsync(uri, description, item)
    // Success.
    .then(function(newItem) { 
        console.log("New item is: " + newItem.id);
            });

Dans ce cas, si la méthode createResourceAsync échoue, elle retourne une promesse dans l'état d'erreur, mais ne lève pas d'exception. Vous pouvez gérer une erreur à l'aide de la fonction then comme suit :

client.createResourceAsync(uri, description, item)
    // Success.
    .then(function(newItem) { 
              console.log("New item is: " + newItem.id);
          }
          function(err) {
              console.log("Got error: " + err.message);
          });

Si vous ne souhaitez pas gérer l'erreur explicitement, mais que vous voulez lever une exception, utilisez plutôt la fonction done.

client.createResourceAsync(uri, description, item)
    // Success.
      .done(function(newItem) { 
               console.log("New item is: " + newItem.id);
            });

Vous pouvez également afficher la progression réalisée jusque là à l'aide d'une troisième fonction.

client.createResourceAsync(uri, description, item)
    // Success.
      .then(function(newItem) { 
               console.log("New item is: " + newItem.id);
            },
    // Error.
            function(error) { 
               alert("Failed to create a resource.");
            },
    // Progress.
            function(progress, resultSoFar) { 
               setProgressBar(progress);
            });

Pour plus d'informations sur la programmation asynchrone, consultez Asynchronous programming.

Ajouts de la communauté

AJOUTER
Afficher:
© 2015 Microsoft