dr1*_*1v3 1 promise typescript angular
我坚持使用promise链,我需要在将图像上传到服务器后继续执行一些代码.它是Angular2和Typescript.让我们写一些伪代码:
uploadImages(images):Promise<any> {
return new Promise((resolve, reject) => {
for (let image of images) {
upload(image.type_1).on('upload_completed', (data) => {
// do something
})
upload(image.type_2).on('upload_completed', (data) => {
// do something
})
}
}
uploadImages(images).then(doSomethingElse);
Run Code Online (Sandbox Code Playgroud)
我以某种方式完成了这项任务,但我对承诺链有点困惑,我无法弄清楚如何在foreach循环中链接这个图像上传,并在所有上传时将结果返回到新的承诺中完成.这样做的正确方法是什么?
编辑:循环中有基于事件的回调,如何使用Promise.all()转换为promises它们?
uploadImages(images):Promise<any> {
let promises_array:Array<any> = [];
for (let image of images) {
promises_array.push(new Promise(function(resolve,reject) {
upload(image.type_1).on('upload_completed', (data) => {
resolve(true);
})
}));
promises_array.push(new Promise(function(resolve,reject) {
upload(image.type_2).on('upload_completed', (data) => {
resolve(true);
})
}));
return Promise.all(promises_array);
}
uploadImages(images).then(doSomethingElse);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8696 次 |
| 最近记录: |