私は次の機能を持っています:
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から戻り値を取得していません(実際に返されると判断しました)。返されたpromiseの処理方法に問題があると推測していますが、デバッグできないようです(それにステップインしようとすると、関数が終了します)。
私は何が間違っているのですか?