当前位置:网站首页>js异步变同步、同步变异步
js异步变同步、同步变异步
2022-08-04 07:17:00 【wcdunf】
1.异步变同步
/**
* bloburl转file对象
* @param {*} blobUrl
* @param {*} fileName
*/
function blobUrlToFile(blobUrl, fileName) {
let that = this;
return new Promise((resolve, reject) => {
let xhr = new XMLHttpRequest();
xhr.open('GET', blobUrl, true);
xhr.responseType = 'blob';
xhr.onload = function(e) {
if (this.status == 200) {
let myBlob = this.response;
// console.log('myBlob', e);
let files = new window.File([myBlob], fileName, {
type: myBlob.type
}); // myBlob.type 自定义文件名
resolve(files);
} else {
reject(false);
}
};
xhr.send();
});
}
await blobUrlToFile(url, name).then(file => {
files.push(file);
});
2.同步变异步
function blobUrlToFile(blobUrl, fileName) {
let that = this;
return new Promise((resolve, reject) => {
//成功
resolve(true);
//失败
reject(false);
});
}
边栏推荐
猜你喜欢
一天学会JDBC06:PrepaerdStatemtnt
DropBlock: Regularization method and reproduction code for convolutional layers
unity webgl报 Uncaught SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON
redis stream 实现消息队列
一天学会JDBC04:ResultSet的用法
data:image/jpg;base64格式数据转化为图片
详解CAN总线:常用CAN连接器的使用方法
Redis非关系型数据库
unittest使用简述
分布式计算实验3 基于PRC的书籍信息管理系统
随机推荐
Distributed Computing Experiment 2 Thread Pool
CSDN21天学习挑战赛——day1 正则表达式大总结
Use of MotionLayout
MMDeploy部署实战系列【第二章】:mmdeploy安装及环境搭建
最强分布式锁工具:Redisson
(19)[系统调用]SSTD hook 阻止关闭
The national vocational skills contest competition of network security emergency response
一天搞定JDBC01:连接数据库并执行sql语句
一天学会JDBC03:Statement的用法
app逆向1某联
最近的一些杂感-20220731
LeetCode 97. 交错字符串
七牛云上传图片和本地上传
The school to apply for link
分布式计算实验1 负载均衡
设置el-table自动向下滑动(不多解释,直接代码实现)
Mysql insert on duplicate key 死锁问题定位与解决
CAN协议详解-01
电脑系统数据丢失了是什么原因?找回方法有哪些?
Redis非关系型数据库