在这里麻烦大家了,谢谢!
1
Luoheqp 2019-05-25 08:31:51 +08:00
难道 return 不能解决么?执行的时候前面放个变量接收就好了
|
2
wyongjian 2019-05-25 08:36:19 +08:00
在 tmp_md5 = spark.end()前面加个 return 变成 return tmp_md5 = spark.end()
|
3
uilvn 2019-05-25 08:37:31 +08:00
这个函数会异步读取文件,可以用类似
return new Promise((resolve, reject) => { ... resolve(tmp_md5) }) 的方法做 |
4
jc89898 2019-05-25 08:47:23 +08:00
Promise
|
5
Biwood 2019-05-25 09:12:43 +08:00
由于是 File Reader .read AsArray Buffer 是一个异步操作,所以需要用到回调函数:
get_filemd5sum(ofile, callback) { ... tmp_md5 = spark.end(); callback(temp_md5); ... } 或者用 Promise 也行,方法如 3 楼 |
6
kinghly 2019-05-25 09:37:18 +08:00
你的 tmp_md5 是全局变量来的。
|
7
supuwoerc 2019-05-25 10:09:26 +08:00
|
8
BreezeInWind 2019-05-25 10:11:38 +08:00 via Android
async await 也可以,不过注意兼容性
|
9
jin5354 2019-05-25 11:34:31 +08:00
异步操作,promise 包一下吧
|
11
duola OP |
12
lzvezr 2019-05-25 13:01:09 +08:00 via iPhone
用 promise 包装一下,然后直接上 async/await 就非常爽
|
13
ochatokori 2019-05-25 14:23:08 +08:00 via Android
要么 callback, 要么 promise
我初学的时候也被这个问题困扰哈哈,异步的结果 return 不出去。。。 |
14
chenjunyue520 2019-05-26 07:29:41 +08:00
callback 进去吧。
|
15
chenhui7373 2019-11-24 22:41:53 +08:00
@duola 你好 能帮个忙吗
|
16
chenhui7373 2019-11-24 22:42:38 +08:00
能不能转让下 《程序员聊设计》这本书
|