Dart HttpRequest вернет будущее

Я открыл для себя Dart и разработал с его помощью Rest Server. Насколько я понимаю, future - это классная асинхронная функция обратного вызова, но я не понимал, как она работает для записи данных из ответа.

Я не говорю о клиентской стороне, мой код выглядит так:

  getData(HttpRequest request) {
    dao.findAll().then((value) {
      print(value);
    });
  }

Значение напечатано правильно, как теперь вернуть его в request.response.write?

Заранее благодарю за ответы.


person Electron    schedule 27.02.2014    source источник


Ответы (1)


Вы можете использовать request.response.write внутри обработчика значений:

getData(HttpRequest request) {
  dao.findAll().then((value) {
    request.response
      ..statusCode = HttpStatus.OK
      ..write(value)
      ..close()
      ;
  });
}
person Alexandre Ardhuin    schedule 27.02.2014
comment
Спасибо, но я уже пытаюсь, и это не отображается в браузере для меня. Может я что то упускаю? - person Electron; 28.02.2014
comment
Мерси моя ошибка была здесь, я закрыл ответ после этого вызова функции. Когда обратный вызов был вызовом, ответ уже был закрыт! - person Electron; 28.02.2014