2013-07-12 14 views
0

다트는 async/await pattern in .net과 원격으로 비슷한 것을 가지고 있습니까?다트의 비동기/대기 패턴?

예를 들어 소켓 1을 열고 응답 1을 기다리고 응답 2를 기다리는 응답을 기다리는 응답을 기다리는 응답을 기다리는 것은 비동기입니다. 모든 약.

여기 그것을하는 하나 개의 방법 :

Socket _socket; 

Socket.connect(_host, _port).then(
    (Socket socket) { 
     print("socket open!"); 
     _socket = socket; 
     socket.transform(new StringDecoder()).listen(ProcessResponse); 
     socket.write("1"); 
    }); 


void ProcessResponse(String response) 
{ 
    print("response received!"); 
    if (response == "1") _socket.write("2"); 
    if (response == "2") _socket.write("3"); 
    if (response == "3") _socket.write("4"); 
    // ... etc .. 
} 

내가 동기화를보고 이해하기 매우 쉽다

socket.write("1"); 
response1 = await socket.getResponse(); 
socket.write("2"); 
response2 = await socket.getResponse(); 
socket.write("3"); 
response3 = await socket.getResponse(); 
// etc. 

즉, 쓰기 같은 코드를 쓸 수 싶지만, 실제로는 비동기 적으로 실행됩니다.

아이디어가 있으십니까?

+0

옙, 중복. 답은 "아니오"처럼 보입니다. : ( – Max

+1

이제 답이'예'입니다 :-) –

답변