Android 同步HTTP调用
Dart的http库基于异步套接字。这意味着任何http调用都是异步的。 从我收集的资料来看,操作系统调用也是异步完成的。 我有一个android应用程序,它需要对不同的网页进行多次调用,每次调用都取决于从一次调用中收集到的内容。Android 同步HTTP调用,android,flutter,dart,Android,Flutter,Dart,Dart的http库基于异步套接字。这意味着任何http调用都是异步的。 从我收集的资料来看,操作系统调用也是异步完成的。 我有一个android应用程序,它需要对不同的网页进行多次调用,每次调用都取决于从一次调用中收集到的内容。 异步执行这将是一场噩梦,我想知道是否有任何方法可以避免这种情况。我认为在调用某个对象时,应该使用wait关键字。以下是一个例子: Future createOrderMessage()异步{ var order=await fetchUserOrder(); 返回“您
异步执行这将是一场噩梦,我想知道是否有任何方法可以避免这种情况。我认为在调用某个对象时,应该使用
wait
关键字。以下是一个例子:
Future createOrderMessage()异步{
var order=await fetchUserOrder();
返回“您的订单是:$order”;
}
Future fetchUserOrder()=>
//假设这个函数是
//更加复杂和缓慢。
推迟(
持续时间(秒:2),
()=>“大杯拿铁”,
);
Future main()异步{
打印('获取用户订单…');
打印(等待createOrderMessage());
}
它只能在
async
函数中使用 异步具有传染性。所以没有。
Future<String> createOrderMessage() async {
var order = await fetchUserOrder();
return 'Your order is: $order';
}
Future<String> fetchUserOrder() =>
// Imagine that this function is
// more complex and slow.
Future.delayed(
Duration(seconds: 2),
() => 'Large Latte',
);
Future<void> main() async {
print('Fetching user order...');
print(await createOrderMessage());
}