[JS] async/await
7564 ワード
async/await
プロミスはコールバックを解決したが、コードは依然として長い.または、Promiseを使用してコールバック・ヘルプを解決しますが、適切に使用しない場合はPromiseヘルプも作成されます.
async/awaitはES 2017の構文で、promisを使用するコードを減らし、promishelを改善するために使用されます.//Promise
const findAndSaveUser = (Users) => {
Users.findOne({})
.then(user => {
user.name = 'fleuve';
return user.save();
})
.then(user => {
return user.findOne({gender : 'm'});
})
.catch(error => console.error(error));
}
//async/await
const findAndSaveUser = async (Users) => {
try {
let user = await Users.findOne({});
user.name = 'fleuve';
user = await user.save();
user = await Users.findOne({gender : 'm'});
} catch (error) {
console.error(error);
}
}
上記の例では、コールバックは深くないが、async/awaitを使用すると、コードの長さが著しく減少し、コードの可読性も改善される.
Promiseはthenとcatchでエラーをキャプチャし、async/awaitはtry/catchでエラーをキャプチャします.
async/awaitのPromise。allメソッドの置換
async/await for文Promiseを使用します.allを置換できます.
Peomise.全ではなくfor await of文を使用してプロセスを繰り返すことができます.const promise1 = Promise.resolve('성공1');
const promise2 = Promise.resolve('성공2');
(async () => {
for await(promise of [promise1, promise2]) {
console.log(promise); // ['성공1', '성공2']
}
})();
Reference
この問題について([JS] async/await), 我々は、より多くの情報をここで見つけました
https://velog.io/@ghd64845/JS-asyncawait
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
//Promise
const findAndSaveUser = (Users) => {
Users.findOne({})
.then(user => {
user.name = 'fleuve';
return user.save();
})
.then(user => {
return user.findOne({gender : 'm'});
})
.catch(error => console.error(error));
}
//async/await
const findAndSaveUser = async (Users) => {
try {
let user = await Users.findOne({});
user.name = 'fleuve';
user = await user.save();
user = await Users.findOne({gender : 'm'});
} catch (error) {
console.error(error);
}
}
const promise1 = Promise.resolve('성공1');
const promise2 = Promise.resolve('성공2');
(async () => {
for await(promise of [promise1, promise2]) {
console.log(promise); // ['성공1', '성공2']
}
})();
Reference
この問題について([JS] async/await), 我々は、より多くの情報をここで見つけました https://velog.io/@ghd64845/JS-asyncawaitテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol