CNode

实现如下流程,用什么方式比较好。

问答
Yyiranrucianjing发布于11 年前最后回复11 年前7 回复3940 浏览0 收藏
查看回复

回复 (7)

Y
yiranrucianjing#1·11 年前

没人回答么

M
magicdawn#2·11 年前

promise.then().then()....catch()

中间任何一个then 出错, reject, 调用catch

L
leapon#3·11 年前

async series 也可以

async.series([
    function(){ ... },
    function(){ ... }
]);
Y
yiranrucianjing#4·11 年前

@leapon series 具体的实现呢?

L
luoyjx#5·11 年前

比较急的话可以用async先搞定吧,长远角度你可以去看看bluebird(Promise的实现)这类的

K
klesh#6·11 年前

你这个 checkName 和 checkTel 是异步的吗? 不太可能吧? 只是数据校验的话,validator 可以看下。很多 orm 框架也有带 validation 。可以看看。

L
leapon#7·11 年前
引用 yiranrucianjing@leapon series 具体的实现呢?

@yiranrucianjing

async.series([
    function(callback){
        userModel.checkName(function(err, id){ 
		    if (err) {
			    callback(err, 'checkName');
			} else {
			    // do your stuff with checkName
                callback(null, 'checkName');
			}
		});
    },
    function(callback){
        userModel.checkTel(function(err, id){ 
		    if (err) {
			    callback(err, 'checkTel');
			} else {
			    // do your stuff with checkTel
                callback(null, 'checkTel');
			}
    }
],
function(err, results){
    // results is now ['checkName', 'checkTel'] when no error is raised
});
参与回复
登录后即可参与回复。登录