IIFE
(立即调用函数表达式)是一个术语,用于表示函数的调用。简单地说,就是调试基于 Async/Promise
的函数。
在下面的场景中,我将模拟一个向 API
服务器发出请求的函数。
1 2 3 4 5
| const data = (number) => new Promise((resolve, reject) => { if (number === 200) resolve("200 OK"); else reject("400 Bad Request"); });
|
在幕后,当函数被调用并且数字的参数为 200 时,该对象将得到状态解析。如果数字中包含的不是 200,那么它将被拒绝。
然后,我们将通过一般调用来调用该函数。
1 2 3 4 5 6 7 8 9 10
| const fetchData = async () => { try { const response = await data(200); console.log(response); } catch (err) { console.error(err); } };
fetchData();
|
似乎在初始化 fetchData
之后,我们使用括号调用它。
通过使用 IIFE
,你只需要双括号 ()
。第一个括号被解释为表达式,第二个被解释为函数调用。
下面是用于使用 IIFE
方法从服务器调用 API
的代码示例。
1 2 3 4 5 6 7 8
| (async () => { try { const response = await data(200); console.log(response); } catch (err) { console.error(err); } })();
|