我有一个超出我控制范围的函数,它会触发一系列对我控制的函数的回调,并且在收到结束消息时,我想触发一些后续操作。
function myFunction(data)
{
if(!!data)
{
global.finished = true;
}
else
{
global.loadedData += data;
}
}
function getInfoAboutData()
{
EXTERNAL.getData(myFunction); // returns immediately, then async calls myFunction until done, then calls with null
// PROBLEM -> Wait on data to be loaded, or return something I can wait on
return data.substring(...)
}
我愿意回复一个我可以在调用函数中等待的承诺,或者如果有办法等待global.finished === true。
编辑:为了澄清,我正在寻找关于如何在promise中包装loadedData标志的建议,因为getData不返回promise,并且不会在完成时等待返回。