Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/225.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 同步HTTP调用_Android_Flutter_Dart - Fatal编程技术网

Android 同步HTTP调用

Android 同步HTTP调用,android,flutter,dart,Android,Flutter,Dart,Dart的http库基于异步套接字。这意味着任何http调用都是异步的。 从我收集的资料来看,操作系统调用也是异步完成的。 我有一个android应用程序,它需要对不同的网页进行多次调用,每次调用都取决于从一次调用中收集到的内容。 异步执行这将是一场噩梦,我想知道是否有任何方法可以避免这种情况。我认为在调用某个对象时,应该使用wait关键字。以下是一个例子: Future createOrderMessage()异步{ var order=await fetchUserOrder(); 返回“您

Dart的http库基于异步套接字。这意味着任何http调用都是异步的。 从我收集的资料来看,操作系统调用也是异步完成的。 我有一个android应用程序,它需要对不同的网页进行多次调用,每次调用都取决于从一次调用中收集到的内容。
异步执行这将是一场噩梦,我想知道是否有任何方法可以避免这种情况。

我认为在调用某个对象时,应该使用
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());
}