我正面临一个问题,即在我已解决的承诺中没有执行下一个链式then
。
我的代码如下所示
WordDocument.prototype.Open = function (data) {
var _this = this;
debugger;
var that = this;
var input = {
onBeforeClose: function (data, callback) {
},
onBeforeSave: function (data, callback) {
//alert('on Save');
//this.Save(data);
},
path: "\\ElectronClient\\cm.doc"
};
var deferred = Q.defer();
this.getDocument(data.docusId)
.then(function (httpRes) {
debugger;
var response = JSON.parse(httpRes);
return _this.saveDocumentInTemp(response);
}).then(function (fileRes) {
debugger;
return _this.getInteropHandle(input);
})["catch"](function (err) {
deferred.reject(err);
})["finally"](function (f) {
debugger;
});
return deferred.promise;
};
第一个then
正在执行完全正常......并且then
函数正在正确执行...但是你可以看到我已经返回了
_this.saveDocumentInTemp(response);
到下一个链接then
..但是第二个then
永远不会被执行..
_this.saveDocumentInTemp(response);
的代码如下所示:(未发布确切代码)
WordDocument.prototype.saveDocumentInTemp = function (response) {
var deferred = Q.defer();
deferred.resolve(true);
return deferred.promise;
};