Js 的Promise 异步编程模式
Posted BBinChina
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Js 的Promise 异步编程模式相关的知识,希望对你有一定的参考价值。
Promise语义统称 承诺对象, 在异步编程模式中, 通过创建承诺对象,将异步任务交由承诺对象执行后,主线程可以去执行其他任务。当需要获取异步任务的执行结果时,通过承诺对象可以获取到对应的结果值
Js 使用Promise
function test() {
return new Promise((resolve, reject)=>{
/*
执行逻辑
*/
let result = "";
let success = false;
if (success) {
resolve(result);
} else {
reject(result);
}
})
}
Promise有三个状态:pending, resolve, reject
通过Promise的then语义可以获取到resolve返回的内容
function testPromise() {
let p = test();
console.log(p);
//打印出的是promise对象
test().then(res=>{
console.log(res);
//打印出result的值
})
}
promise是浏览器引擎的内部任务,其执行优先级会高于浏览器的任务比如:timeout。
js原异步编程模式中还有async await语法。
await用于接收promise的resolve值,而使用await关键字的函数 必须使用async语法来返回一个promise:
async testAwait() {
let res = await test();
}
以上是关于Js 的Promise 异步编程模式的主要内容,如果未能解决你的问题,请参考以下文章