2016-01-20 93 views
0

如何訪問promises回調中的用戶對象?承諾中的Javascript範圍

我試圖綁定它沒有成功。

const promises = User.find(req.user._id).exec(); 
promises.then(function (user) { 
    noAccessFunction().then(function (customer) { 
    // HERE 
    user.save(); 
    }); 
}); 

回答

1

承諾不是回調!將它變爲好像是一系列價值觀。也許是這樣的:

const promises = User.find(req.user._id).exec(); 
promises.then(function (user) { 
    return myfunction().then(function (customer) { 
    return user.save(); 
    }); 
}); 

承諾也可以變平:

const promises = User.find(req.user._id).exec(); 
promises.then(function (user) { 
    return myfunction(user); 
}) 
.then(function (customer) { 
    return customer.save(); 
}); 

在任何情況下,上面的代碼是猜測,因爲你沒有提供足夠的信息,以要發生什麼。