我正在尝试封装AJAX加载器。
代码如下:
const $ = require('jquery');
class ModelLoader {
static loadCsvFile(path, callback, options) {
this.callback = callback;
$.get(path, this._loadCsvFile);
}
static _loadCsvFile(data) {
ModelLoader.callback(); // using this.callback() doesn't work because this here is AJAX object
}
}
module.exports = ModelLoader;问题是,当用户编写这样的代码时:
ModelLoader.loadCsvFile('model1.csv', callback1);
ModelLoader.loadCsvFile('model2.csv', callback2);它们都将进入callback2,因为this.callback在第一个_loadCsvFile(data)被调用之前就变成了callback2。
有没有什么很好的解决方案来封装AJAX?
https://stackoverflow.com/questions/44470420
复制相似问题