在我的 xhrHandler 中实现 superAgent
Implement superAgent inside my xhrHandler
我正在使用 ES5 和 React。我的 xhrHandler.js 是这样编码的 React.creatClass:
var XhrHandler = React.createClass({
statics: {
Request: function(request) {
var req = new XMLHttpRequest();
var url = request.url;
var self = this;
req.onreadystatechange = function(e) {
if (req.readyState == 4) {
if (req.status == 200) {
request.callback(req.response);
} else {
request.errback(status);
}
}
}
var method = request.method || "GET";
if (method == "PUT") {
//send put to api
}
if (method == "DELETE") {
//send delete to api
}
if (method == "GET") {
//get from api
}
}
},
render: function()
});
module.exports=XhrHandler;
问题是,我准备在我的代码中使用 superAgent,但我不想调用他,而是他们使用我的 xhrHandler,所以我想知道我是否可以在我的 xhrHandler 中实现 superAgent .
当然可以。假设 superAgent 你的意思是 this library:
// import superagent
var agent = require('superagent');
var XhrHandler = React.createClass({
statics: {
Request: function(request) {
var method = request.method || "GET";
if (method == "GET") {
// call superagent instead of native XHR:
agent.get( request.url ).end(function(err, res){
if (res.ok) {
request.callback(res);
} else {
request.errback(res)
}
});
}
// etc...
}
}
});
我正在使用 ES5 和 React。我的 xhrHandler.js 是这样编码的 React.creatClass:
var XhrHandler = React.createClass({
statics: {
Request: function(request) {
var req = new XMLHttpRequest();
var url = request.url;
var self = this;
req.onreadystatechange = function(e) {
if (req.readyState == 4) {
if (req.status == 200) {
request.callback(req.response);
} else {
request.errback(status);
}
}
}
var method = request.method || "GET";
if (method == "PUT") {
//send put to api
}
if (method == "DELETE") {
//send delete to api
}
if (method == "GET") {
//get from api
}
}
},
render: function()
});
module.exports=XhrHandler;
问题是,我准备在我的代码中使用 superAgent,但我不想调用他,而是他们使用我的 xhrHandler,所以我想知道我是否可以在我的 xhrHandler 中实现 superAgent .
当然可以。假设 superAgent 你的意思是 this library:
// import superagent
var agent = require('superagent');
var XhrHandler = React.createClass({
statics: {
Request: function(request) {
var method = request.method || "GET";
if (method == "GET") {
// call superagent instead of native XHR:
agent.get( request.url ).end(function(err, res){
if (res.ok) {
request.callback(res);
} else {
request.errback(res)
}
});
}
// etc...
}
}
});