Skip to content

Commit

Permalink
直接使用Promise的defer,resolve方法
Browse files Browse the repository at this point in the history
  • Loading branch information
iMumuMua committed May 1, 2015
1 parent 9227ba0 commit ebcdde4
Showing 1 changed file with 4 additions and 19 deletions.
23 changes: 4 additions & 19 deletions lib/magic-task.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,18 +8,9 @@
var magicTask = {};
magicTask.end = {};

var defer = function() {
var deferred = {};
deferred.promise = new Promise(function(resolve, reject) {
deferred.resolve = resolve;
deferred.reject = reject;
});
return deferred;
};

var runTask = function(task, data) {
var self = this;
var taskDeferred = defer();
var taskDeferred = Promise.defer();

var taskCtrl = {
_reDefineDone: false,
Expand Down Expand Up @@ -79,9 +70,7 @@ var runTask = function(task, data) {
if (taskCtrl._reDefineDone) {
return promise.then(function(resData) {
var doneData = taskCtrl.done(resData);
return new Promise(function(resolve) {
resolve(doneData);
});
return Promise.resolve(doneData);
});
}
else {
Expand All @@ -106,18 +95,14 @@ magicTask.waterfall = function(taskList) {
function runIndex(index) {
return function(data) {
if (data === magicTask.end) {
return new Promise(function(resolve) {
resolve();
});
return Promise.resolve();
}
else {
if (index < len) {
return runTask(taskList[index], data).then(runIndex(index + 1));
}
else {
return new Promise(function(resolve) {
resolve(data);
});
return Promise.resolve(data);
}
}
}
Expand Down

0 comments on commit ebcdde4

Please sign in to comment.