JS中級Promise
25040 ワード
▼▼▼Promiseの使い道と基本的な使い方
var a = new Promise();
a.then(function(){
}).catch(function(){
})
var a = new Promise(function(resolve,reject){
success();
});
a.then(function(){
//성공시 실행할 내용
}).catch(function(){
//실패시 실행할 내용
})
▶▼▼承諾の実際の使用例1
var a = new Promise(function(resolve,reject){
var hardwork = 1 + 1;
resolve();
})
a.then(function(){
console.log('calculation success')
}).catch(function(){
});
var a = new Promise(function(resolve,reject){
var hardwork = 1 + 1;
reject();
})
a.then(function(){
}).catch(function(){
console.log('calculation failed')
});
discrete()という関数を実行すると、失敗と判定されます.次にcatch()内のコードを実行します.失敗した場合は、通常のコールバック関数の設計よりも直感的で役に立ちます. var a = new Promise(function(resolve,reject){
var hardwork = 1 + 1;
resolve(hardwork);
})
a.then(function(outcome){
console.log('calculation success:' + outcome)
}).catch(function(){
});
演算結果を利用したい場合は、関数で結リンゴ値をパラメータとして使用できます.▶▼▼承諾の実際の使用例2
var a = new Promise(function(resolve,reject){
setTimeout(function(){
resolve();
}, 1000)
})
a.then(function(outcome){
console.log('success')
}).catch(function(){
console.log('failed')
}).finally('good');//성공 여부에 관계없이 무조건 실행시킬 코드
settimeoutのような関数を順次実行させるには、Promiseの例を使用します.▶▼▼約束のいくつかの特徴
/*
성공 / 실패 판정 전 -> pending 상태
성공 후 -> fulfilled 상태
실패 후 -> rejected 상태
*/
let a = new Promise(function(resolve, reject){
setTimeout(function(){
console.log('promise');
console.log(a)// pending
resolve();//성공
reject();//실패
})
}, 1000);
a.then(function(){
console.log('resolved')//fulfilled
}).catch(function(){
console.log('reject')//rejected
}).finally(function(){
console.log('finally')//fulfilled
})
Promiseオブジェクトには3つのステータスがあり、ブラウザコンソールウィンドウでコードを実行することで、時点に応じてオブジェクトのステータスを区別できます.
let a = new Promise(function(resolve, reject){
setTimeout(function(){
오래걸리는연산();
console.log(a)// pending
resolve();//성공
reject();//실패
})
}, 1000);
a.then(function(){
console.log('resolved')//fulfilled
}).catch(function(){
console.log('reject')//rejected
}).finally(function(){
console.log('finally')//fulfilled
})
▶️ Promise chaining
// jquery 적용시
var promise1 = new Promise(function(resolve, reject) {
$.get('https://codingapple1.github.io/hello.txt').done(function(result){
resolve(result)
});
});
프로미스.then(function(result) {
console.log(result);
var promise2 = new Promise(function(resolve, reject) {
$.get('https://codingapple1.github.io/hello2.txt').done(function(result){
resolve(result)
})
});
return promise2;
}).then(function(result) {
console.log(result);
})
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Promise
Reference
この問題について(JS中級Promise), 我々は、より多くの情報をここで見つけました https://velog.io/@arsshavin/JS중급Promiseテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol