我目前正在为我的 PYBOSSA 项目构建一个自定义任务演示器。我几乎实现了它,但被困在以下 javascript 函数中 -
pybossa.taskLoaded(function(task, deferred) {
if ( !$.isEmptyObject(task) ) {
console.log("Hello from taskLoaded");
// load image from flickr
var img = $('<img />');
img.load(function() {
// continue as soon as the image is loaded
deferred.resolve(task);
pybossaNotify("", false, "loading");
});
img.attr('src', task.info.url).css('height', 460);
img.addClass('img-thumbnail');
task.info.image = img;
console.log("Task ##"+task.id);
}
else {
deferred.resolve(task);
}
});
根据文档 -
pybossa.taskLoaded 方法将负责向 JSON 任务对象添加新项目,并在数据加载后(即下载图像时)解析延迟对象,因此可以为当前用户预先执行另一个任务加载。
但请注意我的功能。我已经记录了任务 ID,函数加载。它加载2个任务。登录后,控制台显示 -
Task ##256
Task ##257
我也尝试过其他各种说法。他们也执行两次。我的想法是,如果现在我尝试插入当前任务的问题,下一个任务的功能也将与其各自的图像一起放置。我该如何解决这个问题?