我正在使用Apache Cordova并且我遇到了有关Promise
对象的多平台问题。基于当前平台创建Promise对象
目前,我必须实例化一个像这样的承诺:
var promise = new Promise(...) {
//Implementation
}
这是好的,但是如果应用程序是的Windows平台上运行,我必须使用WinJS
代替。就像这样:
var promise = new WinJS.Promise(...) {
//Implementation
}
这导致下面的代码:
var promise;
if (cordova.platformId == "windows") {
promise = new WinJS.Promise(...) {
//Implementation
}
}
else {
promise = new Promise(...) {
//Exactly the same implementation as above
}
}
这里的主要问题是,我复制每个承诺内实施,导致两个代码块这正是一样。因此它很难维持。
有没有一种方法可以基于当前平台实例化正确的Promise
,而不必重复代码两次?