5
在承诺链上使用setTimeout
在这里,我试图绕过promises。在第一个请求时,我获取了一组链接。在下一个请求时,我获取了第一个链接的内容。但是我想在返回下一个promise对象之前进行延迟。所以我使用setTimeout就可以了,但是它给了我下面的JSON错误(without setTimeout() it works just fine) SyntaxError:JSON.parse:JSON数据的第1行第1列出现意外字符 我想知道为什么会失败? let globalObj={}; function getLinks(url){ return new Promise(function(resolve,reject){ let http = new XMLHttpRequest(); http.onreadystatechange = function(){ if(http.readyState == 4){ if(http.status == 200){ resolve(http.response); }else{ reject(new Error()); } } } http.open("GET",url,true); http.send(); }); } getLinks('links.txt').then(function(links){ let all_links = (JSON.parse(links)); globalObj=all_links; return getLinks(globalObj["one"]+".txt"); }).then(function(topic){ writeToBody(topic); …
115
javascript
json
promise