Promise((resolve, reject) 设置cookie
时间: 2024-03-09 10:46:55 浏览: 19
在浏览器环境下,设置 cookie 是一种常见的操作,可以使用 Promise 封装异步操作。下面是一个示例:
```javascript
function setCookie(name, value, expireDays) {
return new Promise((resolve, reject) => {
const expireDate = new Date();
expireDate.setDate(expireDate.getDate() + expireDays);
const cookieString = `${name}=${value}; expires=${expireDate.toGMTString()}`;
document.cookie = cookieString;
resolve();
});
}
// 使用方法
setCookie('username', 'Tom', 7)
.then(() => console.log('cookie 设置成功'))
.catch((error) => console.error('cookie 设置失败:', error));
```
在上述代码中,setCookie 函数返回一个 Promise 对象,它接收三个参数:name,value 和 expireDays,分别表示 cookie 名称、值和过期天数。在函数内部,通过创建一个 Date 对象计算出过期时间,然后拼接成 cookie 字符串并设置到 document.cookie 中。最终,通过调用 resolve 函数表示操作成功,并可以在 then 方法中执行成功后的回调函数,或在 catch 方法中执行失败后的回调函数。