gpt4 book ai didi

javascript - 如何从 Backbone 中的响应访问responseText?

转载 作者:行者123 更新时间:2023-12-03 10:10:33 26 4
gpt4 key购买 nike

    var $ = require('jquery'),
Handlebars = require('handlebars'),
Backbone = require('backbone'),
mainJs = require('./main');


var services = {



authenticationservice: function(collections) {
var jsonreturn;

var api_token = mainJs.get_api_token();


jsonreturn = collections.fetch({

headers: {'Authorization': 'Bearer ' + api_token.access_token},
success: function (collection, response, options) {

var responsejson = JSON.parse(response.responseText);
return responsejson;

},

error: function (collection,response,options){

var errorjson = JSON.parse(response.responseText);
//alert(errorjson.error_description);
return errorjson;

}
});

return jsonreturn;



}

};




module.exports = services;

如何从 jsonreturn 访问responseText,请帮忙?

最佳答案

由于collections.fetch在行为上是异步的,因此您应该返回延迟作为对authenticationservice函数的调用的jQuery。引用下面代码

authenticationservice : function(){
var def = $.Deferred();
...
//Somewhere in success
success: function(...){
def.resolve(responsejson);
}
...
//Somewhere in error
error:function(...){
def.reject(errorjson);
}
...
return def;
}

现在,您调用此服务的位置必须保持一致才能处理如下 promise

service.authenticationservice().then(
function(responsejson){
//Do processing in case of success.
},
function(errorjson){
//Do processing in case of failure
}
);

有关JQuery Deferred的更多详细信息.

关于javascript - 如何从 Backbone 中的响应访问responseText?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30136739/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com