我是新來的CoffeeScript和我有一個咖啡腳本代碼不需要js代碼在編譯CoffeeScript的
getProviderListDisplayValues:(domainId) ->
displayValues = []
$.ajax
contentType: 'application/json',
url: "/Services/ListProviders?domainid=#{domainId}",
success: (data) ->
for oneResponse in data
displayValues.push oneResponse.name
displayValues
其編譯爲
CounselorHome.prototype.getProviderListValues = function(domainId) {
var values;
values = [];
$.ajax({
contentType: 'application/json',
url: "/Services/ListProviders?domainid=" + domainId,
success: function(data) {
var oneResponse, _i, _len, _results;
_results = [];
for (_i = 0, _len = data.length; _i < _len; _i++) {
oneResponse = data[_i];
_results.push(values.push(oneResponse.id));
}
return _results;
}
});
return values;
};
我只是想推值values[]
& displayValues[]
但是爲什麼創建了_results[]
數組?它是否妨礙了瀏覽器的效率?有沒有辦法消除這種不明智的代碼?可能是,編輯我的咖啡腳本。
編輯:使用條件
但是,當我把一個報警代碼
$.ajax
contentType: 'application/json',
url: "/Services/ListProviders?domainid=#{domainId}",
success: (data) ->
for oneResponse in data
displayValues.push oneResponse.name
alert displayValues
displayValues
此代碼的工作,我可以檢索所需的數據。
_ajax_是_asynchronous_所以我認爲你試圖做一些事情,你希望這是行不通的。它看起來像咖啡注意到這一點,所以永遠不會以可引用的方式爲您提供'_results' – 2014-08-28 11:59:30
是的,在重新使用值[]時,Google Chrome返回undefined,FireFox返回null。但我寫了代碼將所有數據推送到值[]。因此,這個問題。 – Jeetendra 2014-08-28 12:06:06