0
我正試圖找到一種方式/最好的方式來使用我的節點應用程序中的承諾。
我會說實話,我不會100%理解承諾,但是我越來越擅長更多的練習。使用承諾/節點
什麼目前,我希望做的是在有人登錄後:
- 獲取Facebook的訪問令牌
- 訪問權限的用戶配置文件,更新MongoDB中的用戶文件或創建如果一個新的用戶文件他們不存在
- 訪問Facebook好友列表並交叉引用Mongodb中的「朋友」文檔。
問題我已經做了第3點,我要求來自點1的訪問令牌和用戶文檔在點2中存在或新創建,以傳入第三個函數。
我的功能鏈的樣子:
getAccessToken(req)
.then(function(accessToken){
getUserProfile(req, accessToken)
.then(findUser.bind(null, req, res))
.then(...)
});
getAccessToken返回 「的accessToken」 從Facebook。 getUserProfile從Facebook返回用戶。 findUser在Mongodb中查找存在或創建新的用戶文檔。
如何返回現有或新創建的用戶對象,並通過與承諾形式的accessToken結合傳遞?