自学 javascript,正在写点小东西。被程序的流程给搞蒙了。
请问 V 友,怎么实现 A ()执行完后才运行 B ()。
之前用settimeout用着用着自己就晕了,有什么比较好的方案吗?
自学 javascript,正在写点小东西。被程序的流程给搞蒙了。
请问 V 友,怎么实现 A ()执行完后才运行 B ()。
之前用settimeout用着用着自己就晕了,有什么比较好的方案吗?
|
mrzhiinOct 1, 2017
1
async await
|
|
caomuOct 1, 2017 via Android
2
上面是新方法
老方法是 callback |
|
WriteJobOct 1, 2017
3
1. 创建个全局变量 flag(标志)为 false,函数 A 执行完后,把这个标志设为 true。然后写个判断如果这个标志等于 true,函数 B 就执行,执行完再把这个标志设为 false。
2. ES6 就用 Promise 或者楼上提到的异步。 |
|
FrankFang128Oct 1, 2017
4
a()
b() 完 |
|
liuzhiyongOct 1, 2017 via iPad
5
@FrankFang128 哈哈,我也是这样想的。
|
|
isbaseOct 1, 2017
6
function a(cb) {
// do something cb() } function b() {} a(b) |
|
zhlssgOct 1, 2017
7
首先搞清楚你的函数是同步执行还是异步执行的吧
|
|
xrr2016Oct 1, 2017
9
|
|
romenntsOct 1, 2017
11
```
async.series({ flag1:function(done){ done(null,authres); }); } },function(error,results){ console.log(results); }) ``` 类似于这样吧.... |
|
SilentDepthOct 1, 2017
12
函数的执行方式不是「指定」出来的。不如发一下你的代码?怎样的 a 和 b 会被异步执行,除非 a 和 b 里面有 setTimeout
|
|
keenwonOct 1, 2017
13
1、同步函数,直接
a() b() 2、异步函数,callback,promise,async/await 都行 |
|
webcoderOct 2, 2017
14
同步就不说了,上面的前辈们都说清楚了。
异步的话,在回调的函数里再引用下一个函数,注意回调分成功和失败两种回调,除非两个回调函数都一样,否则两个都要作下一个函数的引用。 |
|
PythonAnswerOct 2, 2017 via Android
15
我喜欢用 promise
按个人口味啊 |
|
sneezryOct 2, 2017 via iPhone
16
初学者建议先研究回调,理解了回调机制后再研究 promise,最后再研究 await async
|
|
huoyingluoyeOct 2, 2017
17
基本都是回调,只是区分异步和同步的问题,楼上都说的很清楚了
|