dart - Dart 太快了

标签 dart dart-async

我试图理解为什么这段代码两次打印“检查” ...

import 'dart:io';
import 'dart:async';
import 'dart:convert';

Future<Map> ft_get_data() {
  File data;

  data = new File("data.json");
  return data.exists().then((value) {
    if (!value) {
      print("Data does no exist...\nCreating file...");
      data.createSync();
      print("Filling it...");
      data.openWrite().write('{"index":{"content":"Helllo"}}');
      print("Operation finish");
    }
  }).then((_) => data.readAsString()).then((content) => JSON.decode(content)
      ).catchError((e) => new Map());
}

void main() {
  Map params;
  String name;
  num check = 0;

  HttpServer.bind('127.0.0.1', 8080).then((server) {
    print("Server is lauching... $server");
    server.listen((HttpRequest request) {
      request.response.statusCode = HttpStatus.ACCEPTED;
      request.response.headers.contentType = new ContentType('text', 'htm    l');
      params = request.uri.queryParameters; // http://127.0.0.1:8080/?name=tristan
      ft_get_data().then((data_map) {
        name = data_map['index']['content'];
        print('check: $check');
        if (data_map.isNotEmpty) request.response.write(name); else
            request.response.write('Booh');
        check++;
      }).whenComplete(request.response.close);
    });
  }).catchError((error) {
    print("An error : $error.");
  });
}

太快了吗?还是有一些方法可以暂停一下?谢谢。

最佳答案

我尝试了您的代码,并显示0

您正在使用哪个客户端访问服务器?

关于dart - Dart 太快了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22591841/

相关文章:

dart - 等待请求正在运行

dart - 如何按调用顺序运行多个异步函数(FIFO?)

dart - 在 Dart 中读取数据文件进行单元测试

android - Flutter - AppBar 上的填充

regex - 如何在 Dart 中替换字符串中间的空格?

dart - flutter :如何获取来电和短信的电话号码

image - Flutter CachedNetworkImageProvider 没有加载微调器

asynchronous - Dart 组件 : How to return result of asynchronous callback?

dart - 从外部访问http响应体

android - Flutter - setState 不更新内部有状态小部件