閱讀文檔按照我的理解中ES6的含義:從ES6箭解決的諾言功能
foo => someFun(foo);
等同於:
foo => { return someFun(foo); }
我返回一個新的承諾和內使用箭頭函數調用拒絕方法的解決方法,例如
return new Promise(function(resolve, reject)
{
someFunThatReturnsAPromise()
.then(data => resolve(data))
.catch(err => reject(err));
});
因此在後來竟代碼,
.then(data => return resolve(data))
如果是這樣,它的問題是解決的結果(其中我不知道值的類型)和我應該改爲略少簡潔,使用寫{}防止隱式返回
.then(data => { resolve(data); })
一些評論已經準確地表明內部承諾是不需要的。因此,請考慮原來的問題,但隨後修改爲「。然後(data => resolve(data.item))「,即執行一些額外的(儘管很輕微)處理 – const
在任何情況下,避免['Promise'構造函數反模式](https://stackoverflow.com/q/23803743/1048572?什麼是承諾 - 構建 - 反模式 - 以及如何避免 - 它),並且不要將'resolve' /'reject'作爲回調傳遞給承諾! – Bergi