我正在使用 javascript 上传多个文件。
上传文件后,我需要运行几个处理函数。
由于需要处理时间,我需要在前面有一个 UI,告诉用户整个过程的估计剩余时间。
基本上我有3个功能:
- /upload - 这是上传文件的端点
- /generate/metadata - 这是应该在 /upload 之后触发的下一个端点
- /process - 这是最后一个端点。应该在 /generate/metadata 之后触发
这就是我期望屏幕基本上看起来的样子。
应显示剩余百分比和剩余时间等信息。
但是,我不确定是否允许服务器提供信息,或者我只使用 javascript 进行粗略估计。
我还需要更新屏幕,比如告诉用户消息,例如
“正在上传”
如果我在功能 1。
“生成元数据”,如果我在功能 2。
“处理中......”如果我在功能 3。
功能 2 仅在功能 1 成功完成后发生。
功能 3 仅在 2 成功完成后发生。
我已经在使用 q.js 承诺来处理其中的某些部分,但是代码变得非常混乱。
我最近遇到了 Backbone,它允许以结构化的方式来处理我想要的单页应用程序行为。
对于端点的成功或失败,服务器端返回 json 响应没有任何问题。
我想知道使用 Backbone.js 实现此功能的好方法是什么