当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。