OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 import 'dart:convert'; | 5 import 'dart:convert'; |
6 import 'dart:math'; | 6 import 'dart:math'; |
7 import 'package:sky/framework/net/fetch.dart'; | 7 import 'package:sky/framework/net/fetch.dart'; |
8 | 8 |
9 // Snapshot from http://www.nasdaq.com/screening/company-list.aspx | 9 // Snapshot from http://www.nasdaq.com/screening/company-list.aspx |
10 // Fetched 2/23/2014. | 10 // Fetched 2/23/2014. |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
48 } | 48 } |
49 | 49 |
50 typedef void StockDataCallback(StockData data); | 50 typedef void StockDataCallback(StockData data); |
51 const _kChunkCount = 30; | 51 const _kChunkCount = 30; |
52 | 52 |
53 class StockDataFetcher { | 53 class StockDataFetcher { |
54 int _currentChunk = 0; | 54 int _currentChunk = 0; |
55 final StockDataCallback callback; | 55 final StockDataCallback callback; |
56 | 56 |
57 StockDataFetcher(this.callback) { | 57 StockDataFetcher(this.callback) { |
58 _fetchNextChunk(); | 58 // _fetchNextChunk(); // TODO(ianh): crashes |
59 } | 59 } |
60 | 60 |
61 void _fetchNextChunk() { | 61 void _fetchNextChunk() { |
62 fetch('data/stock_data_${_currentChunk++}.json').then((Response response) { | 62 fetch('data/stock_data_${_currentChunk++}.json').then((Response response) { |
63 String json = response.bodyAsString(); | 63 String json = response.bodyAsString(); |
64 JsonDecoder decoder = new JsonDecoder(); | 64 JsonDecoder decoder = new JsonDecoder(); |
65 | 65 |
66 callback(new StockData(decoder.convert(json))); | 66 callback(new StockData(decoder.convert(json))); |
67 | 67 |
68 if (_currentChunk < _kChunkCount) | 68 if (_currentChunk < _kChunkCount) |
69 _fetchNextChunk(); | 69 _fetchNextChunk(); |
70 }); | 70 }); |
71 } | 71 } |
72 } | 72 } |
OLD | NEW |