getId
導致錯誤無法讀取未定義的屬性'then'。它在返回Promise.resolve(r)
之前等待fetchIDs
諾言被解決(GET請求完成)。JavaScript承諾 - 無法讀取未定義的屬性'then'
function fetchIDs() {
return new Promise (function (resolve, reject){
// GET request
});
};
function getId() {
if (typeof localStorage.id !== 'undefined') {
return Promise.resolve(localStorage.id);
}
else {
fetchIDs().then(function (r) {
return Promise.resolve(r);
});
}
};
getId().then(function (r) {
localStorage.id = r;
doSthElse();
});
任何想法我在這裏失蹤或做錯了什麼?謝謝。
如果localstorage中沒有任何內容,getId將不返回任何內容。 – 2015-04-04 22:50:28
我應該編輯它,它在第一個條件下正常工作。使用fetchIDs()時會出現問題,然後 – Eytyy 2015-04-04 22:55:12
您不會返回'fetchIDs()。then'的值。你只是在調用它。改成'return fetchIDs()。then ...' – brianvaughn 2015-04-04 22:55:41