HTTP 请求

在某些情况下,可能需要向网络后端请求一些数据,在 Cocos Creator 里面可以通过 fecth 方法,fecth 方法是 JavaScript 的一部分:

  1. declare function fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response>;

搭建服务

首先通过自身熟悉的后端语言搭建一个简易的 http 服务,非后端开发人员可忽略本段。本示例中采用 golang 搭建,代码示例如下:

  1. package main
  2. import (
  3. "fmt"
  4. "log"
  5. "net/http"
  6. )
  7. func handler(w http.ResponseWriter, r *http.Request) {
  8. fmt.Fprintf(w, "http request received")
  9. }
  10. func main() {
  11. http.HandleFunc("/", handler)
  12. log.Fatal(http.ListenAndServe(":8080", nil))
  13. }

上述代码会搭建一个监听在 8080 端口的网络服务器。

创建 Http 请求

在 Cocos Creator 里面通过 fetch 方法向服务器请求数据,此处以 GET 方法为例,并以文本格式返回服务器的数据,代码示例如下:

  1. import { _decorator, Component } from 'cc';
  2. const { ccclass, property } = _decorator;
  3. @ccclass('HttpTest')
  4. export class HttpTest extends Component {
  5. start() {
  6. fetch("http://127.0.0.1:8080").then((response: Response) => {
  7. return response.text()
  8. }).then((value) => {
  9. console.log(value);
  10. })
  11. }
  12. }

运行场景后会打印如下日志:

  1. > http request received.

也可通过 respoonse.json() 来获取 JSON 格式的返回。

您可以通过 MDN Web Doc 社区 来查看更多详细的信息。