如何在DartPad中停止运行程序且不丢失已编写的代码?
问题
使用DartPad时,如何停止当前正在运行的程序且不丢失所有已编写的代码?
基础界面限制
目前DartPad初始界面仅展示两个操作按钮:
- 运行(RUN)按钮
- 重置(RESET)按钮(点击会清空所有已编写代码)
已验证不可行的方案
- 运行状态下重复点击运行按钮
该操作不会终止当前正在运行的代码,会并行启动新的运行实例,导致多个实例同时运行。
- 直接刷新浏览器标签页
刷新后控制台的所有历史输出会被清空,若需要留存运行日志不建议使用该操作。
不可行方案验证代码
你可以使用以下代码复现上述问题:
import 'dart:async'; void main() { int iter = 0; Timer myTimer = Timer.periodic(Duration(milliseconds: 10), (timer) { iter++; int temp = iter % 1000; print("iter = $iter"); print("iter %1000 = $temp"); }); }
可行解决方案
- 点击运行按钮后,原「RUN」按钮会自动切换为红色方形的停止按钮,直接点击该按钮即可终止当前所有运行的程序,你编写的代码和控制台历史输出都会完整保留。
- 若遇到界面异常未加载出停止按钮的特殊情况,可先全选当前代码按
Ctrl+C(Windows/Linux)/Cmd+C(Mac)复制备份,再刷新页面后粘贴代码即可,不会丢失编写内容。
内容的提问来源于stack exchange,提问作者Nerdy Bunz
相关产品推荐
相关产品推荐

