1
我是javascript新手,我需要一些幫助來了解如何使用承諾(使用藍鳥)。下面是我的代碼,我希望構造函數在屬性解析後初始化屬性。如何在構造函數中調用承諾對象以設置屬性
var getCookie = function(object, someParams) {
return connect(someParams)
.then(function(response){
self.cookie = response.cookie;//this should be done as part of object initialization.
done();
});
}
var app = function(){
var self = this;
getCookie(self);
//how to make sure that return happens after promise is resolved?
return self;
}
我試過這種方法,發生的事情是,應用程序正在返回沒有設置cookie。它在某段時間後被設置..我們如何確保它在完成承諾之前不會返回?我們是否必須添加承諾監視器?我明白,這聽起來更像是同步編程,但我只使用返回承諾 – learningtocode
然後你沒有做我在我的答案建議。這是一個假的'connect'實現:https://jsfiddle.net/yqu5szLb/。 「*我們是否必須添加承諾監視器?」*否。承諾已經解決了這個問題。傳遞給'getApp()。然後(...)'的回調函數僅在* app.cookie = cookie後發生。 –