0
function prepareParams(user) {
var deferred = Q.defer();
var params = _.pick(user, 'email', 'password');
_.extend(params, {
grant_type : 'password',
client_id : 'client_id',
client_secret : 'client_secret'
});
return deferred.promise;
deferred.resolve(params);
}
我想在承諾鏈中使用此函數,但它不返回值。如何編寫返回Q庫承諾的JS函數具有正確的值?
prepareParams(userParams))
.then(function(params) {
// ERROR!!! params == undefined
}
使用promise,no編寫同步代碼是不可能的。但是你顯示的代碼應該基本上工作,如果遇到回調,它將被調用一個不是'undefined'的對象。 – Bergi
你的'then'調用中有一些語法錯誤,大部分你的問題似乎是你試圖在'return'之後'解析'延遲 - 所以它從未被執行。 – Bergi