参数类型令人困惑

时间:2014-06-08 20:33:50

标签: dart dart-io

我正在尝试使用VirtualDirectory类,并在网络中找到一个很好的例子。

import 'dart:io';
import 'package:http_server/http_server.dart';

main() {
    HttpServer.bind('127.0.0.1', 8888).then((HttpServer server) {
        var vd = new VirtualDirectory('./');
        vd.jailRoot = false;
        vd.serve(server);
    });
}

查看调用方法服务

vd.serve(server);

和传递的参数,它来自httpserver类型。但是当我查看api文档时,它预计会有一个httprequest类型。

StreamSubscription<HttpRequest> serve(Stream<HttpRequest> requests)
Serve a Stream of HttpRequests, in this VirtualDirectory.

为什么我可以将httpserver实例传递给service方法而不是httpreqeust实例?

1 个答案:

答案 0 :(得分:2)

请参阅documentation of HttpServer

  

HttpServer是一个提供HttpRequest对象的Stream。