0
Dart是否有類似於async/await pattern in .net的東西?飛鏢中的異步/等待模式?
例如,我想打開一個套接字並進行多次握手:發送1,等待響應1,發送2,等待響應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.
即寫代碼,但實際上運行異步。
任何想法?
YEPP,複製。看起來答案是「否」。 :( – Max
現在答案是'是':-) –