2017-06-17 33 views
0
declare var Promise: any; 
function all(promises : Array<Promise<any>>) : Promise<Array<any>> { 
return new Promise((resolve, reject) => { 
    if(promises.length===0){ 
     resolve([]); 
    } 
    else{ 
     promises[0].then((result)=>{ 
     all(promises.slice(1)).then(rest=>{resolve([result].concat(rest))}).catch((err)=>{reject(err)}) 
     }).catch((err)=>{reject(err)}); 
    } 
}); 
} 
//Test 
function p1() { // always succeeds, with content 1 
return new Promise((resolve, reject) => { 
    setTimeout(() => { resolve(1); }, Math.random() * 1000); 
}); 
} 
function p3() { // always fails, with err 3 
return new Promise((resolve, reject) => { 
    setTimeout(() => { reject(3); }, Math.random() * 1000); 
}); 
} 
all([p1(),p3()]) 
.then(content => { console.log("Test 2 Failed: ", content); }) 
.catch(err => { 
     if (err === 3) console.log("Test 2 Succeeded: ", err); 
     else console.log("Test 2 Failed: ", err); 
    } 
); 

私はこのエラーUnhandledPromiseRejectionWarning:未処理の約束拒否(拒否ID:1):UnhandledPromiseRejectionWarning:未処理の約束拒否(拒否ID:1):このコードを実行するときに3

(12624ノード)を取得しています:3(node:12624)DeprecationWarning:未処理の約束拒否は廃止されました。将来的には、非ゼロの終了コードでNode.jsの処理を終了する処理されない拒絶を約束。テスト2は成功しました:3(ノード:12624)PromiseRejectionHandledWarningを:約束拒否が非同期に処理された(拒否ID:1)

だから、私はそれを解決するために助けてください!

答えて

0

私はノード8と同じ問題でした まだあなたとあなたは解決していませんか? https://github.com/facebookincubator/create-react-app/issues/1776

+0

こんにちは。これは答えよりもコメントです。 「回答」オプションは、質問の解決に貢献したい場合にのみ使用してください。 – matheburg

+0

大丈夫、申し訳ありません..しかし、リンクは多分問題をダウングレードしてwバージョンを解決します。 –

関連する問題