getJson('data/story.json')
.then(function(){
var answer = prompt("Do you like to break promise or keep promise?", "Yes");
if(answer == "Yes"){
//Promise.reject();
}else{
//Promise.reject();
}
})
.then(function(story) {
addHtmlToPage(story.heading);
// Update the URLs for next fetch
var chapterUrls = story.chapterUrls;
chapterUrls = chapterUrls.map(function(url){ return "data/"+url; });
// Take an array of promises and wait on them all
return Promise.all(
// Map our array of chapter urls
// to an array of chapter json promises
chapterUrls.map(getJson)
);
})
.then(function(chapters) {
// Now we have the chapters jsons in order! Loop thorugh...
chapters.forEach(function(chapter) {
// ..and add to the page
addHtmlToPage(chapter.html);
addTextToPage("One chapter is added")
});
addTextToPage("All done");
})
.catch(function(err) {
// catch any error that happened along the way
addTextToPage("Argh, broken: " + err.message);
})
.then(function() {
document.querySelector('.spinner').style.display = 'none';
});
getJson( 'data/story.json')の呼び出しの直後に新しい.then()ブロックを挿入するだけです。約束を破るか約束を守るようにユーザーに促す
質問:プロンプトの後 ....
決意は()ユーザーが「OK」クリックした場合は、それ自体だ、と次の その後、()ブロックの上で話を渡します。
ユーザーが「キャンセル」をクリックした場合、適切なエラーメッセージ を適切な情報を含むオブジェクトに渡します。
プロンプトをif文のかっこ内に移動します。ユーザがOKをクリックするとプロンプトがtrueを返し、そうでない場合はfalseが返されてelse文に移動します。 –
'return'edそれらから 'then'コールバック – Bergi
それは仕事をしなかった。私はリターンresolve()で試した。または返品解決(ストーリー)。どちらもエラーメッセージ – user7697691