目前我正在研究Angular2-alpha45。
由于CORS问题,我必须进行JSONP调用。问题是,通话需要一些时间,我不知道如何将答案包装成一个承诺。
我可以将常规的http.get包装成一个承诺,但由于CORS,这不是我需要的解决方案。
使用http.get示例:
with open('input.txt', 'r') as input:
content = input.read()
list = content.split(',')
不工作Jsonp:
import {Jsonp, Http} from 'angular2/http';
// works
this.getPromise().then(result => {
console.dir(result)
});
getPromise(): Promise<Array> {
return this.http
.get('test.json')
.map((res) => {
return res.json()
})
.toPromise();
}
有谁能告诉我如何将Jsonp调用包装成一个承诺?
答案 0 :(得分:1)
以下是如何使用Promise进行JSONP调用。我只是采用了错误的函数,看起来像必须映射Promise,所以必须调用map() - 函数:
return this.jsonp.request(url).map(res => {
return res.json();
}).toPromise();