Sfoglia il codice sorgente

fix #215 lazy load more

Tao Wen 8 anni fa
parent
commit
96fcb84835
2 ha cambiato i file con 4 aggiunte e 7 eliminazioni
  1. 4 2
      feature_adapter.go
  2. 0 5
      feature_config.go

+ 4 - 2
feature_adapter.go

@@ -71,8 +71,10 @@ type Decoder struct {
 
 // Decode decode JSON into interface{}
 func (adapter *Decoder) Decode(obj interface{}) error {
-	if adapter.iter.Error == io.EOF {
-		return io.EOF
+	if adapter.iter.head == adapter.iter.tail && adapter.iter.reader != nil {
+		if !adapter.iter.loadMore() {
+			return io.EOF
+		}
 	}
 	adapter.iter.ReadVal(obj)
 	err := adapter.iter.Error

+ 0 - 5
feature_config.go

@@ -337,11 +337,6 @@ func (cfg *frozenConfig) NewEncoder(writer io.Writer) *Encoder {
 
 func (cfg *frozenConfig) NewDecoder(reader io.Reader) *Decoder {
 	iter := Parse(cfg, reader, 512)
-	if reader != nil {
-		if !iter.loadMore() {
-			iter.Error = io.EOF
-		}
-	}
 	return &Decoder{iter}
 }