Browse Source

ImageLoader: asyncify parseObject function

master
parent
commit
ae5f16b312
  1. 17
      src/ImageLoader.js

17
src/ImageLoader.js

@ -1,3 +1,4 @@
const async = require('async')
var wikidata = require('./wikidata') var wikidata = require('./wikidata')
var wikipedia = require('./wikipedia') var wikipedia = require('./wikipedia')
var cache = {} var cache = {}
@ -75,10 +76,12 @@ ImageLoader.prototype.parseObject = function (data) {
ImageLoader.prototype.loadWikidata = function (src, callback) { ImageLoader.prototype.loadWikidata = function (src, callback) {
var value = src.value var value = src.value
wikidata.load(value, function (err, result) {
wikidata.load(value, (err, result) => {
async.series([
(done) => {
if (result && result.claims && result.claims.P18) { if (result && result.claims && result.claims.P18) {
result.claims.P18.forEach(function (d) {
var id = d.mainsnak.datavalue.value
result.claims.P18.forEach((d) => {
let id = d.mainsnak.datavalue.value
if (this.found.indexOf(id) === -1) { if (this.found.indexOf(id) === -1) {
this.found.push(id) this.found.push(id)
@ -87,11 +90,15 @@ ImageLoader.prototype.loadWikidata = function (src, callback) {
type: 'wikimedia' type: 'wikimedia'
} }
} }
}.bind(this))
})
} }
done(null)
}
], (err) => {
callback(err) callback(err)
}.bind(this))
})
})
} }
ImageLoader.prototype.loadWikimediaCommons = function (src, callback) { ImageLoader.prototype.loadWikimediaCommons = function (src, callback) {

Loading…
Cancel
Save