这是 queue.js对回调的期望:
回调遵循 Node.js 约定,其中第一个参数是可选的错误对象,第二个参数是任务的结果。
因此,您的代码的简单版本可能如下所示:
var loadImage = function(src, cb) {
var img = new Image();
img.src = src;
img.onload = function(){ cb(null, img); };
img.onerror = function(){ cb('IMAGE ERROR', null); };
};
queue()
.defer(d3.json, "data/flare.json")
.defer(d3.csv, "data/test.csv")
.defer(loadImage, "img/test.png")
.await( function(error, jsondata, csvdata, imagedata) {
if (error) { console.log('error', error); }
else { console.log('success', jsondata, csvdata, imagedata) }
});
我不确定您想要返回关于图像的什么(如果有的话),但在上面的示例中cb(null, img)
,我将返回整个对象。