promise2和promise3的返回结果有时有一个,有时两个都有,或者两个都没有。 async不是等待函数执行完再返回的吗?
我执行了3次打印了一下,有时返回结果的函数在promise2和promise3执行完之前。
具体要看promise1 ,2,3 这3个函数你是 怎么写的了、 parallel 第一个参数是 异步执行的函数集合, 第二个参数是 回调,等待三个promise异步方法执行完事 触发 callback回调事件。
你要有setTimeout 其实promise异步方法已经完事,只是结果返回的是空,你运行的东西有可能在setTimeout延时任务轮询中了。不一定是这个原因。我只是举个例子,你最好贴贴promise等方法的code
如果有setTimeout 执行了其中的promise任务,那就不一定是什么情况了,补充上一个回复
@slclub 谢谢你!麻烦帮我看一下,是不是我哪里写错了。
我也没看到有什么错的地方; parallet callback 触发是在最后一次的callback触发执行的,它是用的循环触发每次触发都检查,是否全部异步事件完成。完成就执行callback事件。是在最后一次异步任务emit (trigger) callback那一刻执行的callback。
和你的promise异步事件执行是否完成没有关系
如果result返回的是需要的,数据没有问题。那么程序因该就没有什么问题了。
太粗心了啊!!!在promise1中的callback回调参数漏写了第一个参数啊!!
哈哈,procmise1的一个 callback1(null,data)少写了个参数,耽误了3个小时哦
尽量不要用var 声明变量,尽量hi使用 let和const const 好过let 好过var 能用const就用const 不用后两个, var尽量就不要用了
const是声明 不可修改的 常量的意思
CNode 社区为国内最专业的 Node.js 开源技术社区,致力于 Node.js 的技术研究。
具体要看promise1 ,2,3 这3个函数你是 怎么写的了、 parallel 第一个参数是 异步执行的函数集合, 第二个参数是 回调,等待三个promise异步方法执行完事 触发 callback回调事件。
你要有setTimeout 其实promise异步方法已经完事,只是结果返回的是空,你运行的东西有可能在setTimeout延时任务轮询中了。不一定是这个原因。我只是举个例子,你最好贴贴promise等方法的code
如果有setTimeout 执行了其中的promise任务,那就不一定是什么情况了,补充上一个回复
@slclub
谢谢你!麻烦帮我看一下,是不是我哪里写错了。
我也没看到有什么错的地方; parallet callback 触发是在最后一次的callback触发执行的,它是用的循环触发每次触发都检查,是否全部异步事件完成。完成就执行callback事件。是在最后一次异步任务emit (trigger) callback那一刻执行的callback。
和你的promise异步事件执行是否完成没有关系
如果result返回的是需要的,数据没有问题。那么程序因该就没有什么问题了。
哈哈,procmise1的一个 callback1(null,data)少写了个参数,耽误了3个小时哦
尽量不要用var 声明变量,尽量hi使用 let和const const 好过let 好过var 能用const就用const 不用后两个, var尽量就不要用了
const是声明 不可修改的 常量的意思