Fine-uploader - 在上传每个文件之前向服务器添加一个异步请求?

Fine-uploader - add an asyc request to server before uploading each file?

我正在使用Fine-uploader(繁体版)试图让用户上传文件到我们自己的服务器。我现在面临的挑战是我应该在正常上传过程之前先从服务器获取令牌。令牌将随每次上传一起发送 request/chunk)。此令牌对于每个文件都是唯一的,因此此 "request-for-token" 步骤只能在用户选择文件后开始。

我正在考虑将一些东西放入 "onSubmit" 回调中。但是这个 "request-for-token" 是一个异步调用,这意味着服务器的响应不会立即返回。我不知道该怎么做,或者这是否是执行此操作的好方法。

感谢您的帮助。

onSubmit 回调接受 "thenable" return 值。换句话说,您可以 return 一个 Promise,并且 Fine Uploader 将等待 returned 承诺被解决或拒绝,然后再对该文件进行下一步。例如:

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.
         })
      }
   }
})