Add resumable test and fix bugs

bugs:
变量在等号前加上冒号会声明一个新的局部变量, 即使存在同名的全局变量, 导致全局tasks没被修改. 这是go的一个坑.