JavaScript 如何将异步函数转换为返回Promise的函数
在本文中,我们将学习如何将异步函数转换为返回Promise的函数。
方法: 您首先需要声明一个简单的函数(可以是普通函数或箭头函数(推荐使用))。然后,您需要创建一个异步函数,然后将Promise作为该异步函数的输出返回。
我们需要创建一个函数(方法),可以是简单函数或箭头函数(我们使用箭头函数进行分析)。创建一个异步函数,然后在调用该函数时,应将输出返回为Promise形式。
让我们首先了解如何在JavaScript中声明一个简单的箭头函数,并在控制台中返回与该函数相关的结果。
示例:
Javascript
<script>
let name = () =>{
console.log("GeeksforGeeks");
}
name();
</script>
输出:
GeeksforGeeks
方法:
- 我们将在函数语法中添加 async (),最终处理各种异步操作和事件。
- 添加 async 关键字后,我们将存储结果。
- 存储结果后,我们将调用函数,并查看返回的promise,其中包含了状态(已完成)和关联的值。
示例1:
Javascript
<script>
let name = async () => {
return "GeeksforGeeks";
};
console.log(name());
</script>
输出:
Promise {<fulfilled>: "GeeksforGeeks"}
__proto__: Promise
[[PromiseState]]: "fulfilled"
[[PromiseResult]]: "GeeksforGeeks"
示例2: 您还可以添加 await 关键字,并将结果存储在某个变量中。当我们从API获取数据时,这很有帮助,以等待数据正确到达。
Javascript
<script>
let name = async () => {
let output = await ( "GeeksforGeeks");
return output;
};
console.log(name());
</script>
输出:
Promise {<pending>: "GeeksforGeeks"}
__proto__: Promise
[[PromiseState]]: "fulfilled"
[[PromiseResult]]: "GeeksforGeeks"
示例3: 为了查看结果,我们将使用 then() 方法打印结果。
Javascript
<script>
let name = async () => {
return "GeeksforGeeks";
};
name().then((value) => {
console.log(value);
});
</script>
输出:
GeeksforGeeks
方法2:
- 我们将使用 Promise 的 resolve() 状态。
- 我们将存储我们的结果,并同时使用 async 关键字(加上函数语法)和 await(将结果存储到一个变量中)。
示例1:
JavaScript
<script>
let name = async() =>{
let output = await Promise.resolve("GeeksforGeeks");
return output;
}
console.log(name());
</script>
输出:
Promise {<pending>: "GeeksforGeeks"}
__proto__: Promise
[[PromiseState]]: "fulfilled"
[[PromiseResult]]: "GeeksforGeeks"
示例2: 如果您希望同时查看结果,那么根据先前的方法,您将使用 then() 方法,并借助此方法可以在控制台中查看结果。
Javascript
<script>
let name = async() =>{
let output = await Promise.resolve("GeeksforGeeks");
return output;
}
name().then((result)=>{
console.log(result);
});
</script>
输出:
GeeksforGeeks