1

我有一个使用 ES6 语法(通过 webpack 使用 json-loader)加载的 JSON 对象(agendaItemsJson)。使用以下内容会产生错误,因为 fetch 正在尝试解析 URL 而议程项目Json 是一个对象。

所以我的问题是我怎样才能正确地模仿这一点,以便我能够使用承诺并获得议程项目Json 作为我的回应。

'use strict';

import BaseService from './base-service';
import agendaItemsJson from '../json/agenda.json';

class _AgendaService extends BaseService {

    getAgenda() {
        // TODO: Will use API instead of the JSON here under.
        return this.fetch(agendaItemsJson)
            .then(response => response);
    }
...
4

2 回答 2

2

你不能只返回一个用你的议程项目Json 解决的承诺吗?IE 使用 ES6 承诺?您甚至可以使用 setTimeout 延迟响应来模拟网络延迟。

getAgenda(){
    return new Promise(function(resolve){
        setTimeout(function(){
            resolve(agendaItemsJson);
        }, 1000);
    });
}
于 2016-03-23T01:49:25.047 回答
1

如果agendaItemsJson 是您想使用promise 作为响应的对象,您可以这样做:

return Promise.resolve(agendaItemsJson);

这比创建一个新的 Promise 更短,它会立即解决这个值。

顺便说一句,您不必等待执行超时。

于 2016-03-23T02:02:26.363 回答