Paso 7: ¿Qué es el código de agente?
El agente tiene dos trabajos:
- Hablar con Weather Underground para obtener las condiciones más
- Servir la web interfaz de usuario cuando sea necesario para que el usuario puede actualizar la ubicación o ver el pronóstico extendido.
Vamos a ir adelante y saltar en "prepWebpage" buscando un momento. Cerca de 150 líneas abajo, echa un vistazo a getConditions.
Pieza más importante de la función getConditions tiene este aspecto:
Este fragmento de código construye un URL de solicitud de dirección URL base del tiempo subterráneo API y el API key, luego envía y espera una respuesta, que se almacena en res. Si todo va bien, res contiene toda la información que necesitas sobre el tiempo como un bloque de JSON, que fácilmente nos podemos analizar:
Finalmente, el agente reúne una previsión para los registros, entonces envía la pieza clave en el dispositivo:
¿Buscar familiar? Es un llamado contra el controlador de "seteffect" que vimos en el dispositivo, donde se analiza el pronóstico y los efectos son. Se trata de donde proviene. El segundo parámetro aquí es los datos el dispositivo recibirá: una mesa con dos objetos, uno para la cadena de condiciones y la temperatura actual.
El segundo trabajo del agente, al servicio de la web UI, se realiza justo debajo de getConditions, en http.onrequest. Este es el controlador general de solicitudes HTTP, y puede escribir para cualquier cosa que le gustaría en respuesta a muchos tipos de solicitudes HTTP. Éste es bastante simple. Comprueba la ruta de acceso para ver si la solicitud llegó en algún lugar más específico que sólo la URL del agente. Hay dos opciones aquí que activarán el comportamiento específico. Si la ruta de acceso se establece en "getLocation", es una petición para ver la corriente pronosticó ubicación es (probablemente desde la web interfaz de usuario):
Asimismo, si la ruta de acceso se establece en "setLocation", es una solicitud para cambiar el lugar de predicción.
Si ninguna trayectoria se suministra en todos, el agente asume es una petición del navegador y detrás de las manos una gran cadena multilínea grandes - que pasa a ser una página web! Esto permite que el agente actúe como un servidor web pequeño:
Eso es todo hay- y Felicidades en tu nuevo gadget del tiempo. ¡ Disfrute!