CNode

q.js实现执行顺序出问题

问答
Rrlxshxf发布于10 年前最后回复10 年前5 回复5189 浏览0 收藏

新人调程序搞的头大 我想用q.js来实现函数的执行顺序,目的是执行完fun1()和fun2(),再进行页面跳转,但是结果总是fun1()和fun2()还没有执行完,就进行跳转了,这个我错在什么地方了?怎么解决?有别的方法能实现这个功能的也可以。先行谢过。 代码如下: Q.all([ fun1(),fun2() ]).then(function(){ res.redirect('/show/'); } );

查看回复

回复 (5)

Z
zhengnz#1·10 年前

promise就别用q了,用bluebird才是王道 From Noder

R
rlxshxf#2·10 年前

听从楼上的建议,使用bluebird,结果一样,怎么破?谁能帮我写一段这样的代码么?

S
snayan#3·10 年前

要保证fun()1,和fun()2必须返回的是promise 对象

Z
zhengnz#4·10 年前
引用 rlxshxf听从楼上的建议,使用bluebird,结果一样,怎么破?谁能帮我写一段这样的代码么?

@rlxshxf

var Promise = require('bluebird');
Promise.all([
    func1(),
	func2()
]).then(function(results){
    console.log(results);
	res.redirect('/show');
});

如果还不行,你就得贴出你的func1和func2是啥了

D
dotnil#5·10 年前

func1() 和 func2() 要返回 promise

参与回复
登录后即可参与回复。登录