11
enum과 같은 실험적 기능으로 1.8 릴리스에 있습니까? 그렇지 않습니다. 그리고 어떻게 다트 편집기에서 사용할 수 있습니까? 저와 함께 시작할 수있는 좋은 기사 또는 예제 응용 프로그램이 있습니까?다트 1.8의 비동기/대기 기능
여전히 실험 기능인 경우 펍 패키지에 권장되는 것은 무엇입니까? pub 패키지에서 그 기능을 사용하는 것이 좋습니까?
enum과 같은 실험적 기능으로 1.8 릴리스에 있습니까? 그렇지 않습니다. 그리고 어떻게 다트 편집기에서 사용할 수 있습니까? 저와 함께 시작할 수있는 좋은 기사 또는 예제 응용 프로그램이 있습니까?다트 1.8의 비동기/대기 기능
여전히 실험 기능인 경우 펍 패키지에 권장되는 것은 무엇입니까? pub 패키지에서 그 기능을 사용하는 것이 좋습니까?
업데이트 2
가장 최근 야간 빌드는 또한 방법에 async*
void main() {
generate().listen((i) => print(i));
}
Stream<int> generate() async* {
int i = 0;
for(int i = 0; i < 100; i++) {
yield ++i;
}
}
업데이트
yield
및 yield*
은 (반복 가능 반환) sync*
을 표시 지원 이미 지원됨
void main() {
var x = concat([0, 1, 2, 3, 4], [5, 6, 7, 8, 9]);
// x is an Iterable which iterates over the values 1 to 9
print(x);
}
// A method marked `sync*` returns an `Iterable`
concat(Iterable left, Iterable right) sync* {
yield* left;
yield* right;
}
void main() {
print(filter([0, 1, 2, 3, 4, 5], (x) => x.isEven));
}
filter(ss, p) sync* {
for (var s in ss) {
if (p(s)) yield s;
}
}
async*
함수 발생기 (스트림을 리턴) 1.9.0-edge.43534
아직 지원되지 않는다.
원래
기본 지원은 이미 사용할 수 있습니다.
자세한 내용은 https://www.dartlang.org/articles/await-async/을 참조하십시오.
main() async {
// await
print(await foo());
try {
print(await fooThrows());
} catch(e) {
print(e);
}
// await for
var stream = new Stream.fromIterable([1,2,3,4,5]);
await for (var e in stream) {
print(e);
}
}
foo() async => 42;
fooThrows() async => throw 'Anything';
참조 http://stackoverflow.com/a/27195775/217408 –