写一个promise使用demo
时间: 2023-05-24 13:03:25 浏览: 80
下面是一个使用Promise的demo:
```
function fetchData() {
return new Promise((resolve, reject) => {
setTimeout(() => {
const data = {name: 'John', age: 30};
resolve(data);
}, 2000);
});
}
fetchData()
.then((data) => {
console.log(data);
})
.catch((error) => {
console.error(error);
});
```
在此示例中,`fetchData()`返回`Promise`对象,该对象异步获取数据。然后使用`.then()`方法和`.catch()`方法在获取数据成功或失败时分别执行函数。如果`Promise`对象状态为`fulfilled`,则`.then()`方法将执行回调函数并将结果传递给该函数,如果状态为`rejected`,则将执行`.catch()`方法并将错误传递给该函数。
相关问题
promise demo
我可以回答这个问题。Promise是一种异步编程的解决方案,它可以让我们更方便地处理异步操作,避免回调地狱。Promise有三种状态:pending(进行中)、fulfilled(已成功)和rejected(已失败)。我们可以通过then()方法来处理Promise的结果。如果Promise状态为fulfilled,then()方法会接收到Promise的返回值;如果Promise状态为rejected,then()方法会接收到Promise的错误信息。
ajax和fetch有什么区别;2、ajax是什么,写出一个demo;3、fetch是什么,写出一个demo;
好的,我来回答您的问题。
1. Ajax和Fetch的区别:
Ajax和Fetch都是用于前端与后端进行数据交互的技术,但是它们有一些区别:
- Ajax使用XMLHttpRequest对象发送请求,而Fetch使用fetch()函数发送请求;
- Ajax的错误处理需要在回调函数中处理,而Fetch可以使用Promise进行处理;
- Fetch默认不会携带cookie,需要手动设置,而Ajax会自动携带cookie等信息;
- Fetch支持Stream API,可以处理大文件,而Ajax不支持。
2. Ajax是一种在不重新加载整个页面的情况下,通过后台与服务器进行数据交换并更新部分网页的技术。下面是一个简单的Ajax demo:
html代码:
```
<button onclick="loadDoc()">点击加载数据</button>
<div id="demo"></div>
```
JavaScript代码:
```
function loadDoc() {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("demo").innerHTML = this.responseText;
}
};
xhttp.open("GET", "ajax_info.txt", true);
xhttp.send();
}
```
当点击按钮时,会通过Ajax从服务器获取数据,然后将数据显示在页面上。
3. Fetch是一种新的网络请求API,它可以代替传统的Ajax技术。下面是一个简单的Fetch demo:
JavaScript代码:
```
fetch('ajax_info.txt')
.then(response => response.text())
.then(data => {
document.getElementById("demo").innerHTML = data;
});
```
通过fetch函数发送请求,然后使用Promise处理返回结果。当获取到数据时,将数据显示在页面上。