我有一个if resp, ok := w.(Response); ok {
// resp is of type Response, you can access its Status field
fmt.Println(resp.Status) // <--- properly prints status
}
函数,里面我想调用一个函数说load()
,它下载一个xml文件。下载完成后,我必须调用一个函数说download()
来解析下载的xml文件。解析完成后,我必须调用另一个函数parseXML()
。能否指导我如何以最简单的方式实现这一目标?
答案 0 :(得分:0)
您可以使用回调
load(params , function(){
download(params, function(){
parseXML(params, function(){
processParsedXMLFile(params, function(){
...
})
})
})
})
答案 1 :(得分:0)
JavaScript中的异步代码有两种常见的方法 - 回调和承诺。
SO上有很多关于回调的帖子,Javascript callback after json parse显示了详细解释的好例子。
对于promises:http://wiki.commonjs.org/wiki/Promises/A和https://www.promisejs.org/是阅读Promises的良好起点,现在更常见的是在JavaScript中编写异步代码。
根据您运行脚本的位置,您可能需要包含软件包/库以支持promise:
使用promises看起来像跟随(假设每个调用都返回在操作完成时满足的promise):
download()
.then(function(data){/* parse XML here */})
.then(function(data){/* process parsed XML*/ });