0%

Promise的两种调用形式

此处使用setTimeout模拟网络请求

  • 第一种

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    new Promise((resolve, reject) => {
    setTimeout(() => {
    resolve("hello world");
    reject("err message");
    }, 1000);
    })
    .then((data) => {
    console.log(data);
    })
    .catch((err) => {
    console.log(err);
    });

    then:网络请求成功时调用
    catch:网络请求错误时调用

  • 第二种

1
2
3
4
5
6
7
8
9
10
11
12
13
new Promise((resolve, reject) => {
setTimeout(() => {
resolve("hello world");
reject("err message");
}, 1000);
}).then(
(data) => {
console.log(data);
},
(err) => {
console.log(err);
}
);

then(函数1,函数2)
函数1:网络请求成功时调用;函数2:网络请求错误时调用