我有以下功能:Windows 8中的Javascript少輝
function pickContacts() {
var output = "";
// Create the picker
var picker = new Windows.ApplicationModel.Contacts.ContactPicker();
picker.commitButtonText = "Select";
var emailsPromise = new WinJS.Promise(function() {
// Open the picker for the user to select contacts
picker.pickMultipleContactsAsync().then(function (contacts) {
if (contacts.length > 0) {
// Get selected e-mails
contacts.forEach(function (contact) {
contact.emails.every(function (email) { output += email.value + ";"; });
});
return output;
} else {
return "";
}
});
});
return emailsPromise;
};
這讓我從選定的聯繫人的電子郵件地址列表。所以接下來我想使用它;這裏是我的代碼:
document.getElementById("findEmail").addEventListener("click", function() {
var emailAdd = document.getElementById("email");
pickContacts().done(function (emails) {
emailDets.value = emails;
});
});
但我沒有從pickContacts(我確定實際返回)得到返回值。我猜測我處理返回的承諾的方式有些問題,但我似乎無法調試它(嘗試進入它只是退出函數)。
我在做什麼錯?