您的位置:首页 > Web前端 > Node.js

nodejs之promise书写规范

2016-04-06 16:29 901 查看
 nodejs的特点是异步,nodejs不能等待,如果你实现某件需要等待的事情,你不能停在那里一直等待结果回来,相反,底线是使用回调callback:你定义一个函数,这个函数只有等到结果可用时才能被调用。所以为了解决这种单一的回调模式,我们引入了promise规范

promise是什么,能解决什么问题?

1、promise其实是一个对象,他只有三中状态,处理中、完成和拒绝。

2、一个promise是一个带有".then()"方法的对象,其代表的是一个操作的结果可能还没有或不知道,无论谁访问这个对象,都能够使用".then()"方法加入回调等待操作出现成功结果或失败时的提醒通知。

下面用具体的代码解释:

var Q = require("q");

var Test = {
fun1: function(data){
var deferred = Q.defer();
deferred.resolve(data);
return deferred.promise;
},
fun2: function(data){
var deferred = Q.defer();
deferred.resolve(data + "fun2");
return deferred.promise;
},

    fun3: function(data){

        var deferred = Q.defer();

        deferred.resolve(data + "fun3");

        return deferred.promise;       

    },

};

module.exports = Test;

调用方法

Test.fun1('123').then(Test.fun2).then(Test.fun3).done(function(data){

    console.log(data);

});

//输出结果如下:

123fun2fun3
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  nodejs promise