【发布时间】:2017-03-19 02:31:49
【问题描述】:
我想我一定是在以一种糟糕的方式使用 Async。我设法使用 Async 做到这一点的唯一方法是:
var email = request.payload.email;
async.waterfall([
function (callback) {
async.parallel({
title : function (callbackWaterfall) {
async.waterfall([
async.apply(UserDao.findUser, email),
createTripTitle
], callbackWaterfall)
},
tripCount: TripDao.countTrips
}, callback)
},
function (results, callback) {
TripDao.createTrip(results.title, results.tripCount, callback);
}
], function (err, trip) {
resCallback(err, request, response, trip);
});
它删除了回调地狱,但阅读它仍然是地狱。
在同步代码中,我会有这个简单的代码 sn-p:
var email = request.payload.email,
user = UserDao.findUser(email),
title = getTitle(user),
tripCount = countMyTrips(),
newTrip = TripDao.createTrip(title, tripCount);
有没有办法简化我的 async.js 示例?
【问题讨论】:
标签: async.js