Skip to content

Latest commit

 

History

History
38 lines (30 loc) · 1.58 KB

promise-and-javascript-thread.md

File metadata and controls

38 lines (30 loc) · 1.58 KB

Promises和JavaScript线程

Promises

Promise对象被用来进行异步计算。一个Promise代表一个值,这个值有可能现在就能获取,也有可能 在一段时间后才能获取,或者永远也不能获取到。

语法

new Promise(/*executor*/ function(resolve, reject) { ... });

Promise的参数是一个函数(该函数是一个匿名函数,在这里称其为executor),executor是由Promise立即执行, executor接受两个函数参数:resolvereject,这两个函数由Promise模块提供,用于传递信息(在接下来的说明 中将看到这一点)。executor函数是在创建Promise对象时立即执行的,甚至在返回Promise对象之前就已经执行完毕。 executor函数通常会初始化一些异步操作,一旦这些异步操作成功完成,则调用resolve函数,而当在异步操作的过程中 产生了错误,则调用reject函数。如果异步操作发生错误,promisereject掉的话,executor函数的返回值将会被 忽略。

用例

let myFirstPromise new Promise(function (resolve, reject) {
   setTimeout(function () {
       resolve("Success!");
   }, 250);
});

myFirstPromise.then(function (successMessage) {
    console.log("Yay! " + successMessage);
});

Reference

[1] JavaScript Reference: Promise