我正在使用Fine-uploader(传统版本),试图让用户将文件上传到我们自己的服务器上。我现在面临的挑战是,我应该在正常的上传过程之前先从服务器获取令牌。令牌将与每个上传请求/块一起发送)。该令牌对于每个文件都是唯一的,因此此“请求令牌”步骤仅在用户选择文件后才能开始。

我正在考虑将某些内容放入“ onSubmit”回调中。但是此“请求令牌”是一个asyc调用,这意味着服务器的响应不会立即返回。我不知道该怎么做,或者那是否是这样做的好方法。

谢谢你的帮助。

最佳答案

onSubmit回调接受“ thenable”返回值。换句话说,您可以返回Promise,Fine Uploader将等待该文件继续进行下一步,直到返回的承诺被解决或被拒绝为止。例如:

var uploader = new qq.FineUploader({
   callbacks: {
      onSubmit: function(id, name) {
         return new Promise(function(resolve, reject) {
            // Send request to server, resolve() on success
            // ... reject() on failure.
            // Call this.setParams(tokenData, id)
            // ...to send the token w/ the upload request.
         })
      }
   }
})

关于javascript - Fine-uploader-在上传每个文件之前向服务器添加一个asyc请求吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38905064/

10-12 03:29