以下代码在Dart M3中不再有效,我找不到新语法。
有人可以提出建议吗?
#import('dart:uri');
String encodeMap(Map data) {
return Strings.join(data.getKeys().map((k) {
return "${encodeUriComponent(k)}=${encodeUriComponent(data[k])}";
}), "&");
}
答案 0 :(得分:9)
只需在Iterable
上使用.join(separator)
。
在你的情况下:
import 'dart:uri';
String encodeMap(Map data) {
return data.keys.map((k) {
return "${encodeUriComponent(k)}=${encodeUriComponent(data[k])}";
}).join("&");
}
来自Breaking Change: Strings class is going away:
核心中的Strings类(注意尾随的“s”)正在消失 如果您使用了Strings.join(stringIterable,separator),请将其替换为stringIterable.join(separator)。
如果您使用了Strings.concatAll(stringIterable),请将其替换为stringIterable.join()。