Angular2 Jsonp跟承诺打电话

时间:2015-11-12 16:01:50

标签: angular es6-promise

目前我正在研究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调用包装成一个承诺?

1 个答案:

答案 0 :(得分:1)

以下是如何使用Promise进行JSONP调用。我只是采用了错误的函数,看起来像必须映射Promise,所以必须调用map() - 函数:

return this.jsonp.request(url).map(res => {
    return res.json();
}).toPromise();