當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Dart Codec.fuse用法及代碼示例


dart:convert 庫中Codec.fuse 方法的用法介紹如下。

用法:

Codec<S, R> fuse<R>(
   Codec<T, R> other   
)

thisother 融合在一起。

編碼時,生成的編解碼器先用 this 編碼,然後再用 other 編碼。

解碼時,生成的編解碼器使用 other 解碼,然後使用 this 解碼。

在某些情況下,需要使用inverted 編解碼器才能正確融合它們。也就是說,this (T) 的輸出類型必須與第二個編解碼器 other 的輸入類型匹配。

例子:

final jsonToBytes = json.fuse(utf8);
List<int> bytes = jsonToBytes.encode(["json-object"]);
var decoded = jsonToBytes.decode(bytes);
assert(decoded is List && decoded[0] == "json-object");

var inverted = json.inverted;
var jsonIdentity = json.fuse(inverted);
var jsonObject = jsonIdentity.encode(["1", 2]);
assert(jsonObject is List && jsonObject[0] == "1" && jsonObject[1] == 2);

相關用法


注:本文由純淨天空篩選整理自dart.dev大神的英文原創作品 fuse<R> method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。