La mise en œuvre de délais d'attente pour node.js rappels

C'est une situation typique dans node.js:

asyncFunction(arguments, callback);

Quand asynFunction terminée, callback est appelée. Un problème que je vois avec ce modèle est que, si asyncFunction jamais complète (et asynFunction n'est pas un construit-dans le temps-système), puis callback ne sera jamais appelé. Pire, il semble que callback a aucun moyen de déterminer qui asynFunction ne reviendra jamais.

Je veux mettre en œuvre un "timeout": si callback n'a pas été appelé par asyncFunction dans un délai de 1 seconde, puis callback est automatiquement appelée avec l'hypothèse que asynFunction a erronées sur. Quel est le niveau moyen de faire cela?

  • Le standard est que callback obtient toujours appelé.
  • Comment pouvez-vous garantir que? Dire un serveur meurt...
  • L'autre serveur uniquement comunicates w/ votre code et n'est pas resonsible à l'appel de votre rappels directement. asyncFunction, et la partie qui en fait des appels callback sont tous sur votre côté de la clôture, de sorte qu'il est raisonnable de s'attendre qu'il devrait faire ce genre d'erreur de manipulation pour vous.
InformationsquelleAutor Randomblue | 2011-12-04