5

假设你有:

class Schema {
    Schema.fromText(String jsonString) {
      ...
    }
}

在此构造函数中,假设jsonString中提供了一个 URL来下载数据,并且读取 URL 的唯一API 是返回 Future 的 API。此外,假设Schema 仅在读取和处理该 URL 数据时才是有效对象。是否有可能实现...

4

1 回答 1

8

标准构造函数无法实现您想要做的事情。

相反,尝试一个静态方法,该方法返回一个包装在 Future 中的新实例。

就像是:

class Schema {
  Schema._fromApi(String apiResults) { ... }
  static Future<Schema> build(String jsonString) {
    return getContentsOfUrl(jsonString['url'])
        .then((contents) => new Schema._fromApi(contents));
  }
}
于 2013-08-26T13:46:35.223 回答