JavaScript : promise issue

标签 javascript jquery

这是我的代码。

function m1() {
  return new Promise(function(resolve, reject) {
    var files = $('#aws-upload-files')[0].files;
    if (files.length > 0) {
      for (var i = 0; i < files.length; i++) {
        loadFile(files[i], $('#filecategory' + i + ' option:selected').text());
      }
    }
  })
}

function submitFileUpload() {
  $('#aws-upload-submit').click(function() {
    m1().then(function(result) {
      console.log('~~~ success here ');
      window.location = 'https://example.com/';
    })
      .catch(function(error) {
      console.log('Error');
    })
  })
}

$(function() {
  submitFileUpload();
})

单击按钮“#aws-upload-submit”时,将调用函数 m1()

函数m1()返回一个promise。

.then() 中,我检查 Promise 是否返回成功,如果成功,我将浏览器重定向到 https://example.com

在我的例子中,当单击按钮时,m1() 被调用并且该函数成功运行,但没有创建任何 Promise 或 .then() 没有创建完全在工作。

即使 m1() 按预期工作,我也没有看到任何 console.log 指出 “~~~ 这里成功”。

谁能告诉我我的 promise 有什么问题吗?

最佳答案

您需要解决 promise 或拒绝它,因此您必须执行这样的代码

enter image description here

阅读:Promise

return new Promise(function(resolve, reject) {
        //code 
       resolve();
 }
<小时/>
function m1() {
  return new Promise(function(resolve, reject) {
    var files = $('#aws-upload-files')[0].files;
    if (files.length > 0) {
      for (var i = 0; i < files.length; i++) {
        loadFile(files[i], $('#filecategory' + i + ' option:selected').text());
      }
       resolve();
    } else {
       reject();
    }
  })
}


m1().then(
  () => console.log("Task Complete!"),
  () => console.log("Task Errored!"),
);

关于JavaScript : promise issue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50147690/

相关文章:

javascript - NextJs 中的 axios 响应中的类型 'never' .ts(2339) 上不存在属性

JavaScript:正则表达式匹配此字符串

javascript - 条形图、chart.js PHP 将无法加载

javascript - 如何在javascript中使两个按钮出现在彼此的下面?

javascript - 用户离开页面时发生的事件

javascript - jquery 自动完成 url 损坏

javascript - AJAX 和 PHP 根据需要使用 RecursiveIteratorIterator 获取文件和文件夹列表

javascript - 我想通过 javascript 或 jquery 显示/计算周数

javascript - 使用 dispatchEvent 触发所有浏览器事件

jquery - 简单的 jQuery 与 parent 我猜