Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
sxychenjing
engine
提交
231b2882
E
engine
项目概览
sxychenjing
/
engine
与 Fork 源项目一致
从无法访问的项目Fork
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
E
engine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
231b2882
编写于
9月 24, 2020
作者:
I
Ian Hickson
提交者:
GitHub
9月 24, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Revert "Make drain() consistently asynchronous. (#21062)"
This reverts commit
cdc631c4
.
上级
5e9b235b
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
0 addition
and
33 deletion
+0
-33
lib/ui/channel_buffers.dart
lib/ui/channel_buffers.dart
+0
-4
lib/web_ui/lib/src/ui/channel_buffers.dart
lib/web_ui/lib/src/ui/channel_buffers.dart
+0
-1
testing/dart/channel_buffers_test.dart
testing/dart/channel_buffers_test.dart
+0
-28
未找到文件。
lib/ui/channel_buffers.dart
浏览文件 @
231b2882
...
...
@@ -181,11 +181,7 @@ class ChannelBuffers {
///
/// This should be called once a channel is prepared to handle messages
/// (i.e. when a message handler is setup in the framework).
///
/// The messages are processed by calling the given `callback`. Each message
/// is processed in its own microtask.
Future
<
void
>
drain
(
String
channel
,
DrainChannelCallback
callback
)
async
{
await
null
;
// Ensures that the rest of this method is scheduled in a microtask.
while
(!
_isEmpty
(
channel
))
{
final
_StoredMessage
message
=
_pop
(
channel
)!;
await
callback
(
message
.
data
,
message
.
callback
);
...
...
lib/web_ui/lib/src/ui/channel_buffers.dart
浏览文件 @
231b2882
...
...
@@ -119,7 +119,6 @@ class ChannelBuffers {
}
Future
<
void
>
drain
(
String
channel
,
DrainChannelCallback
callback
)
async
{
await
null
;
// Ensures that the rest of this method is scheduled in a microtask.
while
(!
_isEmpty
(
channel
))
{
final
_StoredMessage
message
=
_pop
(
channel
)!;
await
callback
(
message
.
data
,
message
.
callback
);
...
...
testing/dart/channel_buffers_test.dart
浏览文件 @
231b2882
...
...
@@ -3,8 +3,6 @@
// found in the LICENSE file.
// @dart = 2.6
import
'dart:async'
;
import
'dart:convert'
;
import
'dart:typed_data'
;
import
'dart:ui'
as
ui
;
...
...
@@ -36,32 +34,6 @@ void main() {
});
});
test
(
'drain is async'
,
()
async
{
const
String
channel
=
'foo'
;
final
ByteData
data
=
_makeByteData
(
'message'
);
final
ui
.
ChannelBuffers
buffers
=
ui
.
ChannelBuffers
();
final
ui
.
PlatformMessageResponseCallback
callback
=
(
ByteData
responseData
)
{};
buffers
.
push
(
channel
,
data
,
callback
);
final
List
<
String
>
log
=
<
String
>[];
final
Completer
<
void
>
completer
=
Completer
<
void
>();
scheduleMicrotask
(()
{
log
.
add
(
'before drain, microtask'
);
});
log
.
add
(
'before drain'
);
buffers
.
drain
(
channel
,
(
ByteData
drainedData
,
ui
.
PlatformMessageResponseCallback
drainedCallback
)
async
{
log
.
add
(
'callback'
);
completer
.
complete
();
});
log
.
add
(
'after drain, before await'
);
await
completer
.
future
;
log
.
add
(
'after await'
);
expect
(
log
,
<
String
>[
'before drain'
,
'after drain, before await'
,
'before drain, microtask'
,
'callback'
,
'after await'
]);
});
test
(
'push drain zero'
,
()
async
{
const
String
channel
=
'foo'
;
final
ByteData
data
=
_makeByteData
(
'bar'
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录