Javascript 如何在承诺中包装对象?

Javascript 如何在承诺中包装对象?,javascript,jquery,promise,Javascript,Jquery,Promise,我有一个代码,搜索内存存储中的一些数据,如果找不到,则搜索服务器上的数据并将其缓存在内存中。 如何将对象作为承诺返回,以便调用方可以对其调用“done” 代码如下所示: 你需要回报一个承诺 if (foundInLocalStorage) { var defered = $.Deferred(); defered.resolve(dataFound);//resolve the promise with the data found //or setTimeout(def

我有一个代码,搜索内存存储中的一些数据,如果找不到,则搜索服务器上的数据并将其缓存在内存中。 如何将对象作为承诺返回,以便调用方可以对其调用“done”

代码如下所示:
你需要回报一个承诺

if (foundInLocalStorage) {
    var defered = $.Deferred();
    defered.resolve(dataFound);//resolve the promise with the data found
    //or setTimeout(defered.resolve.bind(promise, 5)); if you want to maintain the async nature
    return defered.promise();//return a promise

} else {
    return $.ajax({
        url: someUrl,
        dataType: 'json',
        data: {
            id: 101
        }
    }).done(
    //That part is fine
    ......

    );
}
if (foundInLocalStorage) {
    var defered = $.Deferred();
    defered.resolve(dataFound);//resolve the promise with the data found
    //or setTimeout(defered.resolve.bind(promise, 5)); if you want to maintain the async nature
    return defered.promise();//return a promise

} else {
    return $.ajax({
        url: someUrl,
        dataType: 'json',
        data: {
            id: 101
        }
    }).done(
    //That part is fine
    ......

    );
}