Итак, я использую Q.js, чтобы помочь пользователям уведомлять о потенциально длительном вычислении, выполняющемся асинхронно (используя setTimeout с нулевой задержкой для многократного вызова функции набором количество раз).Q.js - как получить доступ к кешированному элементу
Однако, это не работает:
var status = d3.select('#status');
var t = transfer({
N: 100
});
t.then(function (values) {
status.text('');
column_chart(values);
}, function (error) {
status.text('There was an error calculating the transfer probabilities')
}, function (progress) {
status.text('Calculating ' + Math.round(progress) + '%');
});
По какой-то причине элемент статус не определен внутри решимости, отвергаем и функции прогресса. Однако, если я заменяю каждый status.text
на d3.select('#status').text
, тогда все работает отлично. Я немного смущен, почему я не могу использовать кешированный элемент?